Natuurlijke trefkans
In deze oefening werk je opnieuw met creditcardtransacties. De features en labels lijken op de data uit de vorige hoofdstuk, en de data is sterk uit balans. Je krijgt al features X en labels y om mee te werken; beide zijn numpy-arrays.
Eerst ga je verkennen hoe vaak fraude voorkomt in de gegevensset, zodat je begrijpt wat de "natuurlijke nauwkeurigheid" is als we alles als niet-fraude zouden voorspellen. Het is belangrijk om te weten welk niveau van "nauwkeurigheid" je moet "overtreffen" om een betere voorspelling te krijgen dan niets doen. In de volgende oefeningen maak je je eerste random forest-classifier voor fraudedetectie. Die dient als het "baseline"-model dat je in de komende oefeningen gaat proberen te verbeteren.
Deze oefening maakt deel uit van de cursus
Fraudedetectie in Python
Oefeninstructies
- Tel het totale aantal observaties door de lengte van je labels
yte nemen. - Tel het aantal niet-fraudegevallen in de data met een list comprehension op
y; onthoud datyeen NumPy-array is, dus.value_counts()kun je hier niet gebruiken. - Bereken de natuurlijke nauwkeurigheid door het aantal niet-fraudegevallen te delen door het totaal aantal observaties.
- Print het percentage.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Count the total number of observations from the length of y
total_obs = ____
# Count the total number of non-fraudulent observations
non_fraud = [i for ____ ____ ____ if i == 0]
count_non_fraud = non_fraud.count(0)
# Calculate the percentage of non fraud observations in the dataset
percentage = (float(____)/float(____)) * 100
# Print the percentage: this is our "natural accuracy" by doing nothing
____(____)