zacznijmy od zdefiniowania, co oznacza Klasyfikacja, klasyfikacja jest procesem próby przypisania czegoś do jednej z dostępnych grup. Możesz mieć 2 grupy (Klasyfikacja binarna) lub więcej niż 2 grupy (Klasyfikacja Wieloklasowa).
algorytmy klasyfikacji obejmują: (regresję logistyczną, K-najbliższy sąsiad, maszynę wektorów wsparcia i naiwnych Bayesa … itd.)
dla analityka danych bardzo ważne jest, aby upewnić się, jak dobry jest twój model klasyfikacji. Istnieje kilka znanych sposobów oceny modelu. Można je wymienić w następujący sposób:
macierz pomieszania-można ją łatwo obliczyć za pomocą implementacji Biblioteki Scikit-Learn. Wystarczy podać mu wektor zawierający przewidywania zmiennej zależnej y ^ i Wektor rzeczywistych wartości zmiennej zależnej y
scikit-dowiedz się moduł macierzy splątania teraz po obliczeniu macierzy splątania, która będzie macierzą 2*2 dla dowolnego problemu klasyfikacji binarnej, otrzymana macierz będzie wyglądać następująco
confusion matrix A confusion matrix consists of 4 values which are very valuable to know for every data scientist:
False Positive (FP) — instancje, które zostały nieprawidłowo zaklasyfikowane jako klasy dodatnie (0,1) = 5
False negative (FN) — instancje, które zostały nieprawidłowo zaklasyfikowane jako klasy ujemne (1,0) = 10
True Positive (TP) — instancje, które zostały poprawnie zaklasyfikowane jako klasy dodatnie (1,1) = 50
True Negative (TN) — instancje, które zostały poprawnie zaklasyfikowane jako klasy ujemne (0,0) = 35
całkowita liczba wystąpień zestawu danych (instancje szkoleniowe + testowe) = 5+10+50+35 = 100
teraz możemy obliczyć 2 ważne procenty:
1-wskaźnik dokładności = poprawny / całkowity = (50+35)/ 100 = 85%
2-wskaźnik błędu = niepoprawny / całkowity = (5+10)/ 100 = 15%
teraz powinienem świętować po zbudowaniu takiego klasyfikatora ma tak dobrą dokładność …a może powinienem ?!
zobaczmy, proszę za mną w poniższym scenariuszu ” jesteś analitykiem danych, który pracuje w banku i zbudował model klasyfikacji do klasyfikacji oszustw i transakcji innych niż oszustwa, chcesz ocenić swój model, więc zdecydowałeś się obliczyć macierz zamieszania i to był wynik:”
matryca zamieszania — wykrywanie oszustw
analizując matrycę zamieszania możemy powiedzieć, że mamy całkiem niezły klasyfikator z dokładnością = 9,800/ 10,000 = 98%
ale analityk danych ma dość dziwny pomysł, że chce spróbować; Chodzi o to, aby klasyfikator nie zaklasyfikował żadnej z transakcji jako oszustwo (dodatnia klasa '1′), a następnie obliczył nową matrycę zamieszania i wyglądało to następująco:
wskaźnik dokładności klasyfikatora = 9,850/10,000 = 98,5%, co oznacza wzrost dokładności o 0,5%, chociaż klasyfikator nie działa poprawnie!
i nazywa się to pułapką dokładności, więc zdecydowanie mówimy, że pomiar dokładności nie wystarczy, aby odpowiedzieć na pytanie ” jak dobry jest Twój klasyfikator?!”
rozwiązaniem jest wypróbowanie innej metody pomiaru, która jest
2. Krzywa skumulowanej dokładności (CAP) – jest to bardziej solidna metoda wspomagająca nasz model maszyny. Aby zrozumieć intuicję, która za tym stoi, musisz podążać za mną w następujących scenariuszach:
scenariusz # 1-wyobraź sobie, że jako analityk danych pracujesz w firmie, która chce promować swój nowy produkt, aby wysłać wiadomość e-mail ze swoją ofertą do wszystkich klientów i zwykle 10% odpowiedzi klientów i faktycznie kupuje produkt, więc pomyślą, że tak będzie w tym czasie, a ten scenariusz nazywa się scenariuszem losowym.
scenariusz#2 — nadal pracujesz w tej samej firmie, ale tym razem postanowiłeś zrobić to w bardziej systematyczny sposób:
sprawdź swoje dane historyczne i weź grupę klientów, którzy faktycznie kupili ofertę i spróbuj wyodrębnić te informacje
zmierz te czynniki i spróbuj odkryć, który z nich wpływa na liczbę zakupionych produktów lub innymi słowy dopasuj dane do modelu regresji logistycznej.
Sprawdź, którzy klienci są bardziej skłonni do zakupu produktu.
następnie specjalnie skieruj te osoby, które przewidujesz, że są bardziej skłonne do zakupu produktu.
następnie mierząc odpowiedź tych grup docelowych reprezentowanych w tej krzywej „krzywej CAP”.
zdecydowanie możemy zauważyć poprawę; kiedy skontaktowałeś się z docelowymi klientami 20,000, otrzymałeś około 5,000 pozytywnych odpowiedzi, gdzie w scenariuszu#1, kontaktując się z tą samą liczbą klientów, otrzymałeś tylko 2,000 pozytywnych odpowiedzi.
więc chodzi o to, aby porównać swój model ze scenariuszem losowym i możesz przenieść go na wyższy poziom, budując inny model, może maszynę wektorową (SVM)/model SVM jądra, aby porównać go z obecnym modelem regresji logistycznej.
ale jak analizować wynikowy Wykres ?
im lepszy model, tym większy będzie obszar między krzywą CAP a linią prostą scenariusza losowego.
hipotetycznie możemy narysować tak zwany idealny Model, który reprezentuje model, który jest w pewnym sensie niemożliwy do zbudowania, chyba że masz jakąś Kryształową Kulę . Pokazuje to, że wysyłając ofertę do 10 000 potencjalnych klientów otrzymałeś doskonałą pozytywną odpowiedź, w której wszystkie skontaktowane osoby kupiły produkt.
Wykreślenie takiego hipotetycznego modelu pomoże nam jako odniesienie do oceny krzywych krzywych modeli.
istnieją 2 podejścia do analizy poprzedniego wykresu:
pierwszy —
Oblicz pole pod krzywą idealnego modelu (aP)
Oblicz pole pod krzywą idealnego modelu (aR)
Oblicz współczynnik dokładności(AR) = aR/ aP; jako (AR)~1 (im lepszy jest twój model) i jako (AR)~0 (tym gorszy jest twój model)
drugi —
narysuj linię z punktu 50% (ar) 50 000) w całkowitej osi styku do krzywej cap modelu
następnie z tego punktu przecięcia, skieruj go do zakupionej osi
ta wartość x% oznacza, jak dobry jest twój model:
Jeśli X < 60% /(6000) to masz śmieciowy model
Jeśli 60% < X < 70% /(7000) to masz słaby model
jeśli 70% < x < 80% /(8000) to masz dobry model
jeśli 80% < x < 90%/ (9000) to masz bardzo dobry model
Jeśli 90% < x < 100% / (10,000) to twój model jest zbyt dobry, aby mógł być prawdziwy! chodzi mi o to, że zwykle dzieje się to z powodu przepełniania, co na pewno nie jest dobrą rzeczą, ponieważ twój model będzie dobry w klasyfikowaniu tylko danych, na których jest szkolony, ale bardzo słaby z nowymi niewidocznymi instancjami.