Macierz zamieszania w uczeniu maszynowym: Twoje kompleksowe rozwiązanie



W tym artykule skupiono się na macierzy zamieszania, która jest jednym z najważniejszych aspektów każdego algorytmu uczenia maszynowego używanego do oceny jego dokładności.

W , zwykle mamy 2 różne typy przypadków użycia, , i problem. Macierz konfuzji pomaga w obliczeniu dokładności modelu klasyfikacyjnego, co pośrednio pomaga nam opisać działanie modelu klasyfikacyjnego. To najważniejszy krok, jeśli chodzi o ocenę modelu. W tym artykule omówię następujące tematy:

1. Co to jest macierz zamieszania?





2. Dokładność i składniki macierzy nieporozumień

3. Precyzja, przywołanie i pomiar F



4. Tworzenie macierzy zamieszania przy użyciu Pythona i Sklearn

Co to jest macierz zamieszania?

Macierz nieporozumień to podsumowanie porównawcze przewidywanych wyników i rzeczywistych wyników w każdym przypadku użycia problemu klasyfikacji. Podsumowanie porównania jest niezwykle potrzebne do określenia wydajności modelu po przeszkoleniu go z niektórymi danymi uczącymi. Accuracy-Confusion-MatrixW przypadku zastosowania klasyfikacji binarnej macierz konfuzji to macierz 2 × 2, jak pokazano poniżej
Przewidywana wartość klasy 1 EG: 1 Przewidywana wartość klasy 2 EG: 0
Rzeczywista wartość klasy 1

EG: 1

TP (prawdziwie dodatni) FN (fałszywie negatywny)
Rzeczywista wartość klasy 2



EG: 0

FP (fałszywie dodatnia) TN (prawdziwie ujemny)

Z powyższego rysunku:
Mamy,

  • Rzeczywista wartość klasy 1 = 1, która jest podobna do wartości dodatniej w wyniku binarnym.
  • Rzeczywista wartość klasy 2 = 0, co jest podobne do wartości ujemnej w wyniku binarnym.

Indeks po lewej stronie macierzy pomyłki zasadniczo wskazuje rzeczywiste wartości, a górna kolumna wskazuje przewidywane wartości.

Kiedy tworzymy macierz nieporozumień, istnieją różne komponenty. Elementy są wymienione poniżej

Pozytywne (P): Przewidywany wynik jest pozytywny (przykład: obraz przedstawiający kota)

Negatywne (N): przewidywany wynik to Ujemny (przykład: obrazki nie przedstawiają kota)

Prawdziwie dodatni (TP): Tutaj TP zasadniczo wskazuje przewidywane i rzeczywiste wartości 1 (prawda)

Prawdziwie ujemny (TN): Tutaj TN wskazuje przewidywaną i rzeczywistą wartość 0 (Fałsz)

Fałszywie negatywny (FN): Tutaj FN wskazuje, że przewidywana wartość to 0 (ujemna), a rzeczywista wartość to 1. Tutaj obie wartości nie są zgodne. Dlatego jest fałszywie negatywny.

Fałszywie dodatni (FP): Tutaj FP wskazuje, że przewidywana wartość to 1 (dodatnia), a rzeczywista wartość to 0. Tutaj znowu obie wartości są niezgodne. Dlatego jest fałszywie pozytywny.

Dokładność i składniki macierzy nieporozumień

Po utworzeniu macierzy nieporozumień i określeniu wszystkich wartości składowych, obliczenie dokładności staje się dla nas dość łatwe. Przyjrzyjmy się więc komponentom, aby lepiej to zrozumieć.
  • Dokładność klasyfikacji

Z powyższego wzoru suma TP (prawdziwie dodatnia) i TN (prawdziwie ujemna) są prawidłowymi przewidywanymi wynikami. Dlatego, aby obliczyć dokładność w procentach, dzielimy przez wszystkie pozostałe składniki. Istnieją jednak pewne problemy z dokładnością i nie możemy na niej całkowicie polegać.

Weźmy pod uwagę, że nasz zbiór danych jest całkowicie niezrównoważony. W tym Scenariuszu dokładność 98% może być dobra lub zła na podstawie stwierdzenia problemu. Dlatego mamy więcej kluczowych terminów, które pomogą nam mieć pewność co do dokładności obliczeń. Warunki podano poniżej:

  • TPR (True Positive Rate) lub czułość:

Wskaźnik prawdziwie dodatnich, znany również jako wrażliwość, mierzy procent prawdziwie pozytywnych wyników w odniesieniu do wszystkich rzeczywistych wyników pozytywnych, co jest wskazywane przez (TP + FN)

metody klasy skanera w java
Przewidywana wartość klasy 1 EG: 1 Przewidywana wartość klasy 2 EG: 0 Całkowity
Rzeczywista wartość klasy 1

EG: 1

TP (prawdziwie dodatni) FN (fałszywie negatywny) Wszystkie rzeczywiste pozytywne
Rzeczywista wartość klasy 2

EG: 0

FP (fałszywie dodatnia)TN (prawdziwie ujemny)Ogółem rzeczywiste negatywy
TPR = prawdziwie dodatni / (prawdziwie dodatni + fałszywie ujemny
  • TNR (True Negative Rate) lub swoistość:

Prawdziwie ujemny współczynnik lub swoistość mierzy odsetek rzeczywistych wyników negatywnych w stosunku do wszystkich wartości ujemnych

Przewidywana wartość klasy 1 EG: 1 Przewidywana wartość klasy 2 EG: 0 Całkowity
Rzeczywista wartość klasy 1

EG: 1

TP (prawdziwie dodatni)FN (fałszywie negatywny)Wszystkie rzeczywiste pozytywne
Rzeczywista wartość klasy 2

EG: 0

FP (fałszywie dodatnia) TN (prawdziwie ujemny) Ogółem rzeczywiste negatywy

TNR = prawdziwie ujemny / (prawdziwie ujemny + fałszywie dodatni)

  • Współczynnik wyników fałszywie dodatnich (FPR):

Odsetek wyników fałszywie dodatnich to procent przewidywanych wyników fałszywie dodatnich (FP) do całkowitej liczby przewidywanych wyników dodatnich (TP + FP).

Przewidywana wartość klasy 1 EG: 1 Przewidywana wartość klasy 2 EG: 0
Rzeczywista wartość klasy 1 EG: 1 TP (prawdziwie dodatni) FN (fałszywie negatywny)
Rzeczywista wartość klasy 2 EG: 0 FP (fałszywie dodatnia) TN (prawdziwie ujemny)
Suma wszystkich przewidywanych wyników pozytywnych Suma łącznej przewidywanej wartości ujemnej
FPR = fałszywie dodatni / (prawdziwie dodatni + fałszywie dodatni)
  • Fałszywie ujemny współczynnik (FNR):

Odsetek wyników fałszywie ujemnych to odsetek przewidywanych wyników fałszywie ujemnych (FP) do całkowitej liczby przewidywanych wyników negatywnych (TN + FN).

Przewidywana wartość klasy 1 EG: 1 Przewidywana wartość klasy 2 EG: 0
Rzeczywista wartość klasy 1 EG: 1TP (prawdziwie dodatni) FN (fałszywie negatywny)
Rzeczywista wartość klasy 2 EG: 0FP (fałszywie dodatnia) TN (prawdziwie ujemny)
Suma wszystkich przewidywanych wyników pozytywnych Suma łącznej przewidywanej wartości ujemnej
FNR = fałszywie ujemny / (fałszywie ujemny + prawdziwie ujemny)

Precyzja, przywołanie i F-Measure

  • Odwołanie:

Przypomnienie jest podobne do wskaźnika prawdziwie dodatnich i jest to stosunek całkowitej liczby prawidłowo przewidywanych wartości dodatnich (TP) do wszystkich wartości dodatnich.

  • Precyzja:

Precyzja w zasadzie wskazuje wszystkie punkty, które model przewidywał jako dodatnie i jaki procent z nich jest faktycznie dodatni.

Precyzja i Recall to wyniki metryk, które koncentrują się na klasie pozytywnej, jak pokazano z powyższych wzorów.

  • F-Measure

F-Measure jest więc techniką, która łączy w sobie zarówno technikę precyzji, jak i przywołania i wykorzystuje średnią harmoniczną zamiast zwykłej średniej arytmetycznej, dzięki czemu wartości ekstremalne są karane. Miara F jest również nazywana wynikiem F1 i jest określana za pomocą poniższego wzoru.

Rozważmy przykład i zobaczmy, jak możemy obliczyć dokładność, precyzję, przywołanie i wynik F1.

N = 165 Przewidywane TAK Przewidywane NIE
Rzeczywiste TAK TP = 150 FN = 10
Aktualny NIE FP = 20 TN = 100
    • Dokładność = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0.89
    • Przypomnijmy = TP / (TP + FN) = 150 / (150 + 10) = 0.93
    • Precyzja: TP / (TP + FP) = 150 / (150 + 20) = 0.88

jak używać iteratora w java
  • F-Measure = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90

Tworzenie macierzy zamieszania za pomocą Pythona i Sklearn

Teraz zobaczymy przykład, w jaki sposób możemy stworzyć macierz pomyłki za pomocą Pythona wraz z biblioteką sklearn.

jeden. Najpierw utworzymy listę rzeczywistych danych i prognoz, aby sprawdzić dokładność, jak pokazano poniżej

# Skrypt w Pythonie do tworzenia macierzy zamieszania. dane_aktualne = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1]

2. Musimy zaimportować macierz zamieszania z biblioteki sklearn, jak pokazano poniżej:

from sklearn.metrics import confusion_matrix

3. Następnie utworzymy macierz pomyłki, jak pokazano poniżej:

final_results = confusion_matrix (dane_aktualne, dane_przewidywane)

Cztery. Teraz możemy przejść dalej i obliczyć dokładność, importując bibliotekę, jak pokazano poniżej:

z importu sklearn.metrics, dokładność_score, dokładność = dokładność_score (dane rzeczywiste, dane przewidywane)

5. Na koniec obliczamy wynik F1 lub miarę F, jak pokazano poniżej:

from sklearn.metrics import klasyfikacja raport raport = klasyfikacja_report (dane_aktualne, dane_przewidywane)

Poniżej znajduje się pełny kod:

dane_aktualne = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] from sklearn.metrics import confusion_matrix final_results = confusion_matrix (dane rzeczywiste, predicted_data) print (final_results) from sklearn.metrics import ścisłość_score dokładność = dokładność_score (dane_aktualne, dane przewidywane) z raportu sklearn.metrics import klasyfikacja_report (raport = raport dane rzeczywiste, dane przewidywane) drukuj (dokładność) drukuj (raport)

matrix

Tak więc dochodzimy do końca tego artykułu. Mam nadzieję, że całe twoje zamieszanie związane z Matrycą Nieporozumień zostało rozwiązane.

Edureka's pomaga zdobyć wiedzę w zakresie różnych algorytmów uczenia maszynowego, takich jak regresja, grupowanie, drzewa decyzyjne, losowy las, Naïve Bayes i Q-Learning. To uczenie maszynowe przy użyciu szkolenia Python pozwala zapoznać się z koncepcjami statystyki, szeregów czasowych i różnych klas algorytmów uczenia maszynowego, takich jak algorytmy nadzorowane, nienadzorowane i algorytmy wzmacniające. Podczas kursu certyfikacji Data Science będziesz rozwiązywać rzeczywiste studia przypadków dotyczące mediów, opieki zdrowotnej, mediów społecznościowych, lotnictwa i HR.