Sprawdzanie proporcji między oszustwami a transakcjami legalnymi
W tym rozdziale będziesz pracować z plikiem creditcard_sampledata.csv – zbiorem danych zawierającym informacje o transakcjach kartą kredytową. Na szczęście przypadki oszustw stanowią zdecydowaną mniejszość spośród wszystkich transakcji.
Algorytmy uczenia maszynowego działają jednak najlepiej wtedy, gdy poszczególne klasy w zbiorze danych są mniej więcej równoliczne. Jeśli przypadków oszustw jest niewiele, model ma zbyt mało danych, żeby nauczyć się je rozpoznawać. To zjawisko nazywamy niezbalansowaniem klas i jest ono jednym z głównych wyzwań w wykrywaniu oszustw.
Przyjrzyjmy się temu zbiorowi danych i zobaczmy, na czym polega ten problem.
To ćwiczenie jest częścią kursu
Wykrywanie oszustw w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj
pandasjakopdi wczytaj dane o kartach kredytowych, przypisując je do zmiennejdf. Ten krok został już wykonany za ciebie. - Użyj
.info(), aby wyświetlić informacje odf. - Użyj
.value_counts(), aby sprawdzić liczbę oszukańczych i nieoszukańczych transakcji w kolumnie'Class'. Wynik przypisz do zmiennejocc. - Oblicz udział oszukańczych transakcji w całkowitej liczbie transakcji w zbiorze danych.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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 / ____)