Natürliche Trefferquote
In dieser Übung arbeitest du erneut mit Kreditkartentransaktionsdaten. Die Features und Labels sind denen aus dem vorherigen Kapitel ähnlich, und die Daten sind stark unausgewogen. Du bekommst bereits Features X und Labels y, beide als NumPy-Arrays.
Zuerst solltest du untersuchen, wie häufig Betrug im Datensatz vorkommt, um zu verstehen, wie hoch die „natürliche Genauigkeit“ wäre, wenn wir alles als „kein Betrug“ vorhersagen würden. Es ist wichtig zu wissen, welches „Genauigkeits“-Niveau du übertreffen musst, um besser abzuschneiden als Nichtstun. In den folgenden Übungen erstellst du unseren ersten Random-Forest-Klassifikator zur Betrugserkennung. Der dient als „Baseline“-Modell, das du in den nächsten Übungen verbessern wirst.
Diese Übung ist Teil des Kurses
Betrugserkennung mit Python
Anleitung zur Übung
- Zähle die Gesamtzahl der Beobachtungen, indem du die Länge deiner Labels
ynimmst. - Zähle die Nicht-Betrugsfälle in unseren Daten mithilfe einer List Comprehension auf
y; denk daran:yist ein NumPy-Array, daher kann.value_counts()hier nicht verwendet werden. - Berechne die natürliche Genauigkeit, indem du die Nicht-Betrugsfälle durch die Gesamtzahl der Beobachtungen teilst.
- Gib den Prozentsatz aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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
____(____)