Wykrywanie oszustw tradycyjną metodą
W tym ćwiczeniu spróbujesz wykryć przypadki oszustw w zbiorze danych dotyczącym kart kredytowych – korzystając z "klasycznego podejścia". Najpierw wyznaczysz wartości progowe na podstawie typowych statystyk, aby oddzielić transakcje fraudowe od prawidłowych. Następnie użyjesz tych progów do wykrywania oszustw. To powszechna praktyka w zespołach zajmujących się analizą fraudów.
Progi statystyczne wyznacza się często na podstawie wartości średnich obserwacji. Zacznij od sprawdzenia, czy średnie wartości cech różnią się między transakcjami fraudowymi a prawidłowymi. Następnie wykorzystasz te informacje do ustalenia progów opartych na zdrowym rozsądku. Na koniec sprawdzisz, jak dobrze ta metoda sprawdza się w wykrywaniu oszustw.
Biblioteka pandas została już zaimportowana jako pd.
To ćwiczenie jest częścią kursu
Wykrywanie oszustw w Pythonie
Instrukcje do ćwiczenia
- Użyj
groupby(), aby pogrupowaćdfwedług kolumnyClass, i oblicz średnią cech. - Utwórz warunek:
V1mniejsze od -3 orazV3mniejsze od -5, aby oznaczyć potencjalne przypadki oszustwa. - Jako miarę skuteczności użyj funkcji
crosstabz bibliotekipandas, aby porównać oznaczone przypadki oszustwa z rzeczywistymi.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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']))