Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Importeer pandas als pd, lees de creditcarddata in en ken dit toe aan df. Dit is al voor je gedaan.
  • Gebruik .info() om informatie over df af te drukken.
  • Gebruik .value_counts() om het aantal frauduleuze en niet-frauduleuze transacties in de kolom 'Class' op te halen. Ken het resultaat toe aan occ.
  • 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 / ____)
Code bewerken en uitvoeren