Den klassischen Weg zur Betrugserkennung erkunden
In dieser Übung versuchst du, Betrugsfälle in unserem Kreditkartendatensatz auf die „alte Art“ zu finden. Zuerst legst du Schwellwerte anhand gängiger Statistiken fest, um zwischen Betrug und Nicht-Betrug zu trennen. Danach verwendest du diese Schwellwerte auf deinen Features, um Betrug zu erkennen. Das ist gängige Praxis in Fraud-Analytics-Teams.
Statistische Schwellwerte werden oft bestimmt, indem man sich die Mittelwerte der Beobachtungen ansieht. Starte diese Übung damit, zu prüfen, ob sich die Mittelwerte der Features zwischen Betrugs- und Nicht-Betrugsfällen unterscheiden. Anschließend nutzt du diese Information, um sinnvolle Schwellwerte zu definieren. Zum Schluss prüfst du, wie gut das bei der Betrugserkennung funktioniert.
pandas wurde bereits als pd importiert.
Diese Übung ist Teil des Kurses
Betrugserkennung mit Python
Anleitung zur Übung
- Verwende
groupby(), umdfnachClasszu gruppieren, und berechne die Mittelwerte der Features. - Erstelle die Bedingung:
V1kleiner als -3 undV3kleiner als -5, um Betrugsfälle zu markieren. - Nutze zur Leistungsbewertung die Funktion
crosstabauspandas, um unsere markierten Betrugsfälle mit den tatsächlichen Betrugsfällen zu vergleichen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Get the mean for each group
____.____(____).mean()
# Implement a rule for stating which cases are flagged as fraud
df['flag_as_fraud'] = np.where(np.logical_and(______), 1, 0)
# Create a crosstab of flagged fraud cases versus the actual fraud cases
print(____(df.Class, df.flag_as_fraud, rownames=['Actual Fraud'], colnames=['Flagged Fraud']))