Zacznij terazZacznij za darmo

Naturalny współczynnik trafności

W tym ćwiczeniu ponownie skorzystasz z danych dotyczących transakcji kartą kredytową. Cechy i etykiety są podobne do tych z poprzedniego rozdziału, a zbiór danych jest silnie niezbalansowany. Masz już do dyspozycji cechy X oraz etykiety y – oba jako tablice NumPy.

Na początek sprawdź, jak częste są oszustwa w zbiorze danych. Pozwoli ci to zrozumieć, jaka jest "naturalna dokładność" – czyli taka, którą uzyskalibyśmy, gdybyśmy wszystkie transakcje klasyfikowali jako niezłudne. Ważne jest, żeby wiedzieć, jaki poziom dokładności trzeba "pobić", by uzyskać lepsze przewidywania niż przez bezczynność. W kolejnych ćwiczeniach stworzysz pierwszy klasyfikator lasu losowego do wykrywania oszustw. Będzie on służył jako model "bazowy", który postarasz się ulepszyć w następnych ćwiczeniach.

To ćwiczenie jest częścią kursu

Wykrywanie oszustw w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Policz łączną liczbę obserwacji, obliczając długość tablicy etykiet y.
  • Policz przypadki niezłudne w danych, używając wyrażenia listowego na y; pamiętaj, że y jest tablicą NumPy, więc .value_counts() nie jest tu dostępne.
  • Oblicz naturalną dokładność, dzieląc liczbę przypadków niezłudnych przez łączną liczbę obserwacji.
  • Wydrukuj wynik w procentach.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
____(____)
Edytuj i uruchom kod