De verhouding fraude versus niet-fraude controleren
In dit hoofdstuk werk je met creditcard_sampledata.csv, een gegevensset met creditcardtransacties. Fraude komt in deze transacties gelukkig zeer zelden voor.
Machine Learning-algoritmen werken echter meestal het best wanneer de verschillende klassen in de gegevensset min of meer even vaak voorkomen. Als er weinig fraudecases zijn, is er weinig data om van te leren hoe je ze herkent. Dit staat bekend als class imbalance (ongebalanceerde klassen), en het is een van de grootste uitdagingen bij fraudedetectie.
Laten we deze gegevensset verkennen en dit probleem van ongebalanceerde klassen bekijken.
Deze oefening maakt deel uit van de cursus
Fraudedetectie in Python
Oefeninstructies
- Importeer
pandasalspd, lees de creditcarddata in en ken dit toe aandf. Dit is al voor je gedaan. - Gebruik
.info()om informatie overdfaf te drukken. - Gebruik
.value_counts()om het aantal frauduleuze en niet-frauduleuze transacties in de kolom'Class'op te halen. Ken het resultaat toe aanocc. - Bepaal de verhouding van het aantal frauduleuze transacties ten opzichte van het totale aantal transacties in de gegevensset.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Import pandas and read csv
import pandas as pd
df = pd.read_csv("creditcard_data.csv")
# Explore the features available in your dataframe
print(df.____)
# Count the occurrences of fraud and no fraud and print them
occ = df['____'].____()
print(occ)
# Print the ratio of fraud cases
print(occ / ____)