Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Tel het totale aantal observaties door de lengte van je labels y te nemen.
  • Tel het aantal niet-fraudegevallen in de data met een list comprehension op y; onthoud dat y een 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
____(____)
Code bewerken en uitvoeren