Proces klasyfikacji pomaga w kategoryzacji zbioru danych do różnych klas. Model uczenia maszynowego pozwala na:
– Określić ramy problemu,
– Zebranie danych,
– Dodanie zmiennych,
– Wytrenowanie modelu,
– Zmierzyć wydajność,
– Ulepszanie modelu za pomocą funkcji kosztów.
Ale jak możemy zmierzyć wydajność modelu? Poprzez porównanie modelu przewidywanego i rzeczywistego? Jednak to nie rozwiąże problemu klasyfikacji. Macierz konfuzji może pomóc w analizie danych i rozwiązaniu problemu. Zrozummy, jak ta technika pomaga modelowi uczenia maszynowego.
Macierz konfuzji
Technika matrycy konfuzji pomaga w pomiarze wydajności dla klasyfikacji uczenia maszynowego. Z tego typu modelu, można odróżnić i sklasyfikować model ze znanymi prawdziwymi wartościami na zestawie danych testowych. Termin macierz konfuzji jest prosty, ale mylący. W tym artykule uprościmy tę koncepcję, abyś mógł łatwo ją zrozumieć i samodzielnie utworzyć macierz konfuzji.
Obliczanie macierzy konfuzji
Wykonaj poniższe proste kroki, aby obliczyć macierz konfuzji dla eksploracji danych:
Krok 1.
Oszacuj wartości wyniku dla zbioru danych.
Krok 2
Przetestuj zbiór danych za pomocą oczekiwanych wyników.
Krok 3
Przewiduj wiersze w testowym zbiorze danych.
Krok 4
Oblicz oczekiwane wyniki i przewidywania. Musisz wziąć pod uwagę:
– Całkowita liczba poprawnych przewidywań klasy
– Całkowitą liczbę błędnych przewidywań klasy
Po wykonaniu tych kroków, należy uporządkować liczby w poniższy sposób:
– Połącz każdy wiersz macierzy z przewidywaną klasą
– Przyporządkuj każdą kolumnę macierzy do rzeczywistej klasy.
– Wprowadź do tabeli poprawną i niepoprawną klasyfikację modelu
– Uwzględnij sumę poprawnych przewidywań w kolumnie przewidywane. Dodaj również wartość klasy w oczekiwanym wierszu.
– Uwzględnij sumę błędnych przewidywań w oczekiwanym wierszu i wartość klasy w przewidywanej kolumnie.
Zrozumienie wyniku w macierzy konfuzji
1. Prawdziwie pozytywny
Wartości rzeczywiste i przewidywane są takie same. Przewidywana wartość modelu jest dodatnia, wraz z rzeczywistą wartością dodatnią.
2. Prawdziwie ujemna
Rzeczywista i przewidywana wartość są takie same. Przewidywana wartość modelu jest ujemna, wraz z rzeczywistą wartością ujemną.
3. False Positive (Błąd Typu 1)
Rzeczywista i przewidywana wartość nie są takie same. Przewidywana wartość modelu jest dodatnia i fałszywie prognozowana. Jednakże, rzeczywista wartość jest ujemna. Można to określić jako błąd typu 1.
4. Fałszywy negatyw (Błąd Typu 2)
Rzeczywista i przewidywana wartość nie są takie same. Przewidywana wartość modelu jest ujemna i fałszywie przewidywana. Jednak rzeczywista wartość jest dodatnia. Możesz odnieść się do tego błędu jako do błędu typu 2.
Znaczenie macierzy konfuzji
Zanim odpowiemy na to pytanie, powinniśmy zrozumieć hipotetyczny problem klasyfikacji. Załóżmy, że przewidujesz liczbę osób zarażonych wirusem przed wystąpieniem objawów. W ten sposób można je łatwo odizolować i zapewnić zdrową populację. Możemy wybrać dwie zmienne, aby zdefiniować populację docelową: Zakażoną i niezakażoną.
Teraz możesz pomyśleć, po co używać macierzy konfuzji, skoro zmienne są zbyt proste. Cóż, ta technika pomaga w dokładności klasyfikacji. Dane w tym przykładzie to niezrównoważony zbiór danych. Załóżmy, że mamy 947 negatywnych punktów danych i trzy pozytywne punkty danych. Teraz będziemy obliczać dokładność za pomocą tej formuły:
Za pomocą poniższej tabeli można sprawdzić dokładność:
Całkowite wartości wyjściowe będą wynosić:
TP = 30, TN = 930, FP = 30, FN = 10.
Można więc obliczyć dokładność modelu jako:
96% dokładność dla modelu jest niesamowita. Ale z wyniku można wygenerować tylko błędne pojęcie. Zgodnie z tym modelem można przewidzieć zakażonych ludzi 96% czasu. Jednak obliczenia przewidują, że 96% populacji nie zostanie zarażonych. Jednak chorzy ludzie nadal rozprzestrzeniają wirusa.
Czy ten model wygląda na idealne rozwiązanie problemu, czy też powinniśmy zmierzyć pozytywne przypadki i odizolować je, aby zatrzymać rozprzestrzenianie się wirusa. Dlatego do rozwiązywania tego typu problemów używamy macierzy dezorientacji. Oto kilka korzyści płynących z zastosowania macierzy konfuzji:
– Matryca pomaga w klasyfikacji modelu podczas tworzenia prognoz.
– Technika ta oznacza typ i wgląd w błędy, dzięki czemu można łatwo zrozumieć sprawę
– Możesz przezwyciężyć ograniczenia dzięki dokładnej klasyfikacji danych.
– Kolumny macierzy konfuzji będą reprezentować przypadki przewidywanej klasy.
– Każdy wiersz będzie wskazywał przypadki rzeczywistej klasy.
– Macierz konfuzji podkreśli błędy, które popełnił klasyfikator.
Matryca konfuzji w Pythonie
Teraz, gdy znasz już koncepcję macierzy konfuzji, możesz przećwiczyć poniższy kod w Pythonie z pomocą biblioteki Scikit-learn.
# macierz konfuzji w sklearn
fromsklearn.metricsimportconfusion_matrix
fromsklearn.metricsimportclassification_report
# wartości rzeczywiste
actual = [1,0,0,1,0,0,1,0,0,1]
# wartości przewidywane
predicted = [1,0,0,1,0,0,0,1,0,0]
# macierz konfuzji
matrix =confusion_matrix(actual,predicted, labels=[1,0])
print(‘macierz konfuzji : \n’,macierz)
# kolejność wartości wyników w sklearn
tp, fn, fp, tn=confusion_matrix(actual,predicted,labels=[1,0]).reshape(-1)
print(‘Wartości wyniku : \n’, tp, fn, fp, tn)
# raport klasyfikacji dla precyzji, przypomnienia f1-score i dokładności
matrix =classification_report(actual,predicted,labels=[1,0])
print(‘Raport klasyfikacyjny : \n’,matrix)
Wnioski
Macierz konfuzji pomaga w ograniczeniu dokładności metody klasyfikacji. Podkreśla również ważne szczegóły dotyczące różnych klas. Ponadto, analizuje zmienne i dane, dzięki czemu można porównać rzeczywiste dane z przewidywaniami.