Wykrywanie oszustw związanych z kartami kredytowymi: praktyczny projekt
Odkryć:
- Zrozumienie znaczenia wykrywania oszustw związanych z kartami kredytowymi
- Wprowadzenie do zbioru danych „Wykrywanie oszustw związanych z kartami kredytowymi” dla projektu
- Tworzenie solidnych modeli wykrywania oszustw
- Ocena wydajności modelu
- Interpretacja i analiza wyników modelu
World Payment Report 2022 podkreśla szybki wzrost transakcji bezgotówkowych oraz znaczenie łańcuchów wartości płatności B2B oraz małych i średnich przedsiębiorstw. Oczekuje się również, że w kolejnych latach nastąpi stały wzrost transakcji bezgotówkowych, jak poniżej
Choć może się to wydawać obiecujące, zwiększyła się również liczba oszukańczych transakcji. Pomimo wdrożenia inteligentnych chipów EMV nadal dochodzi do utraty znacznej kwoty pieniędzy z powodu oszustw związanych z kartami kredytowymi.
Jak możemy zminimalizować ryzyko? Chociaż istnieją różne techniki zmniejszania strat i zapobiegania oszustwom, poprowadzę Cię przez moje podejście i podzielę się swoimi odkryciami.
I. O zbiorze danych
Zbiór danych „ Wykrywanie oszustw związanych z kartami kredytowymi ” w Kaggle to wysoce niezrównoważony zbiór danych, który zawiera transakcje dokonane kartami kredytowymi we wrześniu 2013 r. przez europejskich posiadaczy kart. Zbiór danych obejmuje łącznie 284 807 transakcji, z których tylko 492 są fałszywe, co sprawia, że zbiór danych jest wysoce niezrównoważony. Zbiór danych zawiera 28 cech, które są wartościami liczbowymi uzyskanymi przez transformację PCA w celu zachowania poufności informacji wrażliwych. Celem tego zestawu danych jest zbudowanie modelu, który może dokładnie wykrywać oszukańcze transakcje w czasie rzeczywistym, aby zapobiegać oszukańczym działaniom i zmniejszać straty ponoszone przez posiadaczy kart i banki. Ten zestaw danych był szeroko stosowany w badaniach nad uczeniem maszynowym do oceny różnych algorytmów klasyfikacji i technik radzenia sobie z niezrównoważonymi zestawami danych.
II. Analiza danych rozpoznawczych
Gdy dane są już dostępne, sprawdźmy kolumny Time
, Amount
, i Class
.
1 raz
Na wykresie możemy zaobserwować, że funkcja Czas ma rozkład bimodalny z dwoma szczytami, co wskazuje, że istnieją dwa okresy w ciągu dnia, w których transakcje kartami kredytowymi są częstsze. Pierwszy szczyt występuje po około 50 000 sekundach (około 14 godzin), podczas gdy drugi szczyt występuje po około 120 000 sekundach (około 33 godziny). Sugeruje to, że może istnieć wzorzec w czasie transakcji kartą kredytową, który może być przydatny do wykrywania oszustw.
2. Kwota
Na wykresie możemy zaobserwować, że rozkład cechy Kwota jest silnie skośny w prawo, z długim ogonem po prawej stronie. Oznacza to, że większość transakcji ma niskie kwoty, podczas gdy kilka transakcji ma bardzo wysokie kwoty. W rezultacie sugeruje to, że zbiór danych zawiera pewne wartości odstające pod względem kwot transakcji. Dlatego podczas budowania modelu do wykrywania oszustw może być konieczne uwzględnienie wartości odstających w funkcji Amount
, na przykład za pomocą transformacji dziennika lub solidnych metod statystycznych.
3. Klasa (oszustwo | brak oszustwa)
Na wykresie możemy zaobserwować, że zbiór danych jest wysoce niezrównoważony, przy czym zdecydowana większość transakcji nie jest oszukańcza (klasa 0), a stosunkowo niewielka liczba transakcji jest oszukańcza (klasa 1). Oznacza to, że zestaw danych ma problem z niezrównoważeniem klas, co może mieć wpływ na wydajność modelu przeszkolonego na tym zestawie danych. Może być konieczne zastosowanie technik takich jak nadpróbkowanie, podpróbkowanie lub ważenie klas, aby poradzić sobie z problemem nierównowagi klas podczas budowania modelu do wykrywania oszustw.
III. Przetwarzanie danych
Aby upewnić się, że w danych nie było żadnej znaczącej kolinearności, zastosowano mapę termiczną.
Z mapy termicznej można zauważyć, że nie ma silnych dodatnich ani ujemnych korelacji między jakimikolwiek parami zmiennych w zbiorze danych. Najsilniejsze korelacje występują:
- Czas i V3, ze współczynnikiem korelacji -0,42
- Kwota i V2, ze współczynnikiem korelacji -0,53
- Kwota i V4, ze współczynnikiem korelacji 0,4.
IV. Modelowanie
Zbiór danych „ Wykrywanie oszustw związanych z kartami kredytowymi ” zawiera transakcje kartą kredytową oznaczone jako oszukańcze lub nie. Zbiór danych jest niezrównoważony, dlatego potrzebuje modelu, który może dokładnie wykrywać oszukańcze transakcje bez błędnego oznaczania transakcji, które nie są oszukańcze.
Aby pomóc w problemach z klasyfikacją, StandardScaler standaryzuje dane, nadając im średnią 0 i odchylenie standardowe 1, co daje rozkład normalny. Technika ta sprawdza się w przypadku szerokiego zakresu kwot i czasu. Aby skalować dane, zestaw treningowy jest używany do zainicjowania dopasowania, a zestawy pociągów, walidacji i testów są następnie skalowane przed uruchomieniem ich w modelach.
Zbiór danych podzielono na 60% do trenowania, 20% do walidacji i 20% do testowania . Aby zrównoważyć niezrównoważony zestaw danych, zastosowano losowe podpróbkowanie w celu dopasowania liczby oszukańczych transakcji. Wykorzystano modele regresji logistycznej i lasu losowego, uzyskując dobre wyniki.
Powszechnie używane modele dla zbioru danych „Wykrywanie oszustw związanych z kartami kredytowymi” to regresja logistyczna, naiwny Bayes, losowy las i fikcyjny klasyfikator.
- Regresja logistyczna jest szeroko stosowana do wykrywania oszustw ze względu na jej interpretowalność i zdolność do obsługi dużych zbiorów danych.
- Naive Bayes jest powszechnie używany do wykrywania oszustw, ponieważ może obsługiwać zestawy danych z dużą liczbą funkcji i zapewniać szybkie przewidywania.
- Random Forest jest powszechnie używany do wykrywania oszustw, ponieważ może obsługiwać złożone zestawy danych i jest mniej podatny na przeuczenie.
- Dummy Classifier to prosty algorytm używany jako punkt odniesienia do porównywania wydajności innych modeli.
V. Ocena modelu
W tej sekcji zostaną omówione następujące wskaźniki: dokładność, pamięć, precyzja i wynik F1.
- Dokładność to ułamek poprawnych prognoz tworzonych przez model. Może to jednak wprowadzać w błąd w przypadku niezrównoważonych zestawów danych.
- Funkcja Recall informuje nas, jaki procent oszukańczych transakcji model prawidłowo zidentyfikował. W najlepszym modelu wycofanie wynosi 89,9%, co jest dobrym punktem wyjścia.
- Precyzja mówi nam, jaki procent przewidywanych oszukańczych transakcji był faktycznie oszukańczy. W najlepszym modelu przechwycono 97,8% wszystkich nieuczciwych transakcji, co jest dobrym wskaźnikiem.
- F1 Score łączy Recall i Precision w jedną metrykę jako średnią ważoną tych dwóch, biorąc pod uwagę fałszywe alarmy i fałszywe wyniki. Jest to o wiele bardziej efektywne niż celność dla klas niezrównoważonych.
1. Wyniki ROC
ROC mierzy wydajność klasyfikacji przy różnych progach. Wyższy wynik AUC (obszar pod krzywą) oznacza, że model lepiej przewiduje oszustwo/brak oszustwa.
Krzywa ROC: Potężne narzędzie do wykrywania oszustw w marketinguWykres przedstawia wyniki AUC dla regresji logistycznej i lasu losowego. Wysokie wyniki są dobre. Punkty na krzywej reprezentują progi. Ruch w prawo rejestruje więcej wyników prawdziwie dodatnich, ale także więcej wyników fałszywie dodatnich. Idealne progi to 0,842 dla regresji logistycznej i 0,421 dla lasu losowego. Przy tych progach wychwytujemy optymalną liczbę nieuczciwych transakcji, jednocześnie utrzymując niską liczbę fałszywych trafień. Matryca zamieszania może wizualizować efekty każdego modelu.
2. Matryca zamieszania — regresja logistyczna
Model uchwycił 88 z 98 oszukańczych transakcji i oznaczył 1678 zwykłych transakcji jako oszukańcze, stosując próg 0,842 w zbiorze testów poza próbą. Jest to podobne do sytuacji, gdy bank wysyła SMS z potwierdzeniem po użyciu karty w innym państwie bez wcześniejszego powiadomienia.
3. Matryca zamieszania — losowy las
Przy progu 0,421 model lasu losowego działa podobnie do modelu regresji logistycznej. Prawidłowo identyfikuje 88 z 98 oszukańczych transakcji, ale oznacza również spadek liczby normalnych transakcji jako oszukańczych w porównaniu z modelem regresji logistycznej. Ogólnie oba modele mają dobre osiągi.
Wniosek
Wykrywanie oszukańczych transakcji kartami kredytowymi ma kluczowe znaczenie w dzisiejszym społeczeństwie. Firmy stosują różne metody, aby uchwycić te przypadki, i fascynujące jest obserwowanie, jak sobie z tym radzą. Znajdowanie anomalii jest przyjemne, więc przejście przez ten projekt było świetną zabawą. Mam nadzieję, że wyniki zostały dobrze wyjaśnione i dziękuję za przeczytanie!
Bibliografia
- Projekt Kaggle — TUTAJ
- Repozytorium Github — TUTAJ
- Zbiór danych Kaggle — TUTAJ
- CZYTAJ WIĘCEJ —
Powtarzalne uczenie maszynowe do wykrywania oszustw związanych z kartami kredytowymi — Praktyczny podręcznik
Daj artykułowi 50 klaśnięć
Podążaj za mną
Przeczytaj więcej artykułów na Medium
Połącz się w mediach społecznościowych Github | Linkedin | Kaggle
#CreditCardFraudDetection #DataScience #MachineLearning #FraudPrevention #DataAnaliza