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.
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 |
- 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 |
- 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).
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)
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.