Macierz pomyłek w R: Jak zrobić i obliczyć [z przykładami]
Opublikowany: 2021-03-09R stał się dziś jednym z wiodących pakietów oprogramowania do analizy danych i analizy statystycznej. Jest to środowisko typu open source preferowane ze względu na jego silne możliwości obliczeniowe, wizualne i graficzne. Jeśli jesteś studentem inżynierii, analitykiem biznesowym lub osobą żywo interesującą się nauką o danych, nauka języka programowania R może ci pomóc na wiele sposobów.
W tym artykule omówimy kilka podstawowych koncepcji uczenia maszynowego za pośrednictwem tego zintegrowanego pakietu. Dokładniej, omówimy, jak obliczyć macierz pomyłek w R .
Ale zanim przejdziemy do szczegółów technicznych, najpierw zrozummy, dlaczego wybraliśmy R do tego celu. To z powodu następujących korzyści, ten język programowania zyskuje popularność wśród statystyków i naukowców zajmujących się danymi na całym świecie:
- Powtarzalne: dzięki R możesz odtwarzać raporty i pisać kod wielokrotnego użytku
- Możliwość udostępniania: ma niską krzywą uczenia się, co otwiera możliwości współpracy
- Powtarzalne: każdy może nie tylko zrozumieć, co zrobiłeś, ale także powtórzyć kroki, aby utworzyć te same funkcje na swoich maszynach
Z powyższych powodów wzrosło również zastosowanie języka R w dziedzinie uczenia maszynowego. Nie musisz być doświadczonym programistą, aby zrozumieć jego składnię. Dlatego w następnej sekcji przedstawiamy kilka podstawowych informacji.
Spis treści
Co to jest macierz pomyłek?
Macierz pomyłek, czyli macierz błędów, zajmuje się standardowym problemem klasyfikacji w statystyce. Zawiera specyficzny układ tabeli, który ułatwia analitykom danych wizualizację działania algorytmu. Dotyczy to w szczególności algorytmów uczenia nadzorowanego.
W celu dalszego rozwinięcia, macierz pomyłek jest zgodna z formatem N x N, gdzie N odnosi się do liczby klas docelowych. Tej tabeli lub macierzy można użyć do oceny wydajności modelu klasyfikacji. Jest to możliwe, ponieważ macierz porównuje przewidywane wartości z wartościami docelowymi.
Krótko mówiąc, możesz opisać, jak Twój model uczenia maszynowego, w tym przypadku klasyfikator, działa na zestawie danych testowych (dla których masz już prawdziwe wartości).
Aby zrozumieć tę metodę, musisz znać następujące terminy:
- True Positive (TP): Wartości dodatnie są prawidłowo przewidywane
- Fałszywie dodatni (FP): Wartości ujemne są błędnie przewidywane jako dodatnie
- Fałszywie Ujemny (FN): Wartości dodatnie przewidywane jako ujemne
- True Negative (TN): Wartości ujemne przewidywane jako rzeczywiste wartości ujemne
Przyjrzyjmy się kilku przykładom, aby uzyskać większą jasność.
Przykłady macierzy pomyłek
- Prawdziwie pozytywne
Kiedy przewidziałeś, że Indie wygrają Puchar Świata w krykiecie, i one wygrały.
- Fałszywe pozytywne
Kiedy spodziewałeś się, że Indie wygrają, ale przegrały.
- Fałszywy negatyw
Kiedy przewidziałeś, że Francja nie wygra, ale wygrała.
- Prawdziwie negatywne
Kiedy przewidywałeś, że Indie „nie wygrają” Pucharu Świata w krykiecie i przegrały serial w prawdziwym życiu.
Idąc dalej, należy pamiętać, że wszystkie przewidywane wartości są opisane jako: Dodatnia, Ujemna, Prawda i Fałsz.
Jak obliczyć macierz pomyłek w R?
Rozważ scenariusz, w którym masz listę oczekiwanych lub znanych wartości oraz inną listę prognoz z modelu uczenia maszynowego. W R możesz obliczyć macierz pomyłek za pomocą prostej funkcji z biblioteki karetki: zamieszanieMatrix(). Może nie tylko obliczyć macierz, ale także zwrócić szczegółowy raport z wynikami.
Możesz wykonać poniższe kroki, aby przećwiczyć proces eksploracji danych:
- Przetestuj dany zestaw danych z oczekiwanymi wynikami.
- Przewiduj wiersze swojego testowego zbioru danych.
- Określ całkowitą liczbę poprawnych i błędnych prognoz dla każdej klasy.
Gdy to zrobisz, znajdziesz liczby uporządkowane w następujący sposób:
- Każdy wiersz macierzy będzie odpowiadał przewidywanej klasie, a każda kolumna będzie połączona z rzeczywistą klasą.
- Całkowita liczba poprawnych i błędnych klasyfikacji jest odzwierciedlona w tabeli, wraz z sumami dla każdej klasy.
Załóżmy, że masz 10 osób podzielonych na dwie klasy, męską i żeńską. Musisz uporządkować informacje jako macierz pomyłek, gdy wiesz, że 2 mężczyzn zostało sklasyfikowanych jako kobiety, a 1 kobieta została sklasyfikowana jako mężczyzna.
kobiety mężczyźni
kobiety 3 1
mężczyźni 2 4

Tutaj prawidłowe wartości są uporządkowane w linii ukośnej od lewego górnego rogu do prawego dolnego rogu matrycy (3 + 4). Wyniki mówią nam, że jest więcej błędów w przewidywaniu męskich członków jako kobiet niż przewidywaniu kobiet jako mężczyzn. Algorytm wykonał 7 poprawnych prognoz na 10 możliwych wyników, co oznacza, że ma 70% dokładność.
Przewodnik po tworzeniu i obliczaniu macierzy konfuzji w R
Jak widać, funkcja macierzy pomyłek jest użytecznym narzędziem do badania możliwych wyników twoich przewidywań. Tak więc, zanim zaczniesz tworzyć swoją macierz, najpierw musisz „wyciąć” swoje wartości prawdopodobieństwa. Innymi słowy, musisz oznaczyć próg, aby zmienić swoje prawdopodobieństwa w przewidywania klasowe.
Aby to zrobić, możesz użyć funkcji ifelse(). Na przykład:
class_prediction <-
ifelse (probability_prediction > 0.50,
„pozytywna_klasa”,
„negatywna_klasa”
)
Możesz także napisać funkcję table(), aby utworzyć tabelę kontyngencji w bazie R. Wiadomo jednak, że funkcja poisonMatrix() dostarcza cennych statystyk pomocniczych.
Następnym krokiem jest obliczenie macierzy pomyłek i innych powiązanych statystyk. Tutaj potrzebujesz przewidywanych i rzeczywistych wyników. Weźmy na przykład oświadczenie podane poniżej:
zamieszanieMatrix(przewidywana, rzeczywista)
Teraz powinieneś przystąpić do przekształcania swoich przewidywań numerycznych w wektor przewidywań klas, sat p_class. Załóżmy, że chcesz użyć odcięcia 0,50.
Ponadto, dokonując prognoz, nie zapomnij nazwać klas pozytywnych i negatywnych oddzielnymi wskaźnikami. Nazwijmy pozytywne klasy „T”, a negatywne nazwijmy „L”. Ma to na celu dopasowanie klas do oryginalnych danych.
Teraz, gdy masz klasę p_class i rzeczywiste wartości w testowym zbiorze danych, możesz zacząć tworzyć macierz pomyłek, wywołując funkcję fuseMatrix().
Alternatywnie możesz chcieć mieć pewność co do dokładności swojego modelu eksploracji danych. W takich przypadkach wskazane jest stosowanie progu 0,10, a nie 0,90. następnie możesz kontynuować te same kroki, co we wcześniejszym ćwiczeniu.
Dzięki nowym przewidywanym klasom możesz powtórzyć to wezwanie:
pred <- ifelse(prawdopodobieństwo > próg, „T”, „L”)
Na koniec możesz użyć funkcji poisonMatrix() w daszku:
zamieszanieMatrix(przewidywana, rzeczywista)
Na tym kończymy ten samouczek dotyczący funkcji macierzy pomyłek dla uczenia maszynowego w R. Mam nadzieję, że okazał się pomocny!
Wniosek
Jeśli jesteś ciekawy, aby dowiedzieć się o R, nauce o danych, sprawdź nasz dyplom PG w dziedzinie nauki o danych, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami branżowymi, 1-na- 1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy w najlepszych firmach.
Poniższe powody przybliżają nam korzyści płynące z posiadania macierzy pomyłek i tego, jak radzi sobie z problemami z wydajnością. Macierz pomyłek w R można obliczyć za pomocą funkcji „confusionMatrix()” biblioteki karetki. Ta funkcja nie tylko oblicza macierz, ale także zwraca szczegółowy raport macierzy. Musisz wykonać kilka kroków, aby obliczyć swoją macierz pomyłek. Możesz obliczyć współczynnik dokładności modelu, używając macierzy pomyłek 2x2. Poniższa formuła zapewni Ci wskaźnik sukcesu lub wskaźnik dokładności:Jaka jest potrzeba tworzenia matrycy pomyłek?
1. Macierz pomyłek jest potrzebna do wyeliminowania problemu z dokładnością klasyfikacji. Współczynnik klasyfikacji często powoduje pewne problemy, ukrywając niezbędne szczegóły modelu.
2. Macierz pomyłek daje wgląd w przewidywania i rodzaje błędów popełnianych w modelu klasyfikacji. Prawidłowe i błędne prognozy prezentowane są w sposób zwięzły.
3. Błędy i ich rodzaje są klasyfikowane, aby umożliwić zrozumienie działania Twojego modelu. Jak obliczyć macierz pomyłek w R?
1. Przetestuj swój zbiór danych.
2. Przewiduj całkowitą liczbę rzędów.
3. Wytypuj w sumie poprawne i błędne prognozy dla każdej klasy.
Po wydobyciu danych otrzymasz liczby uporządkowane w rzędach. Wiersze zostaną połączone z przewidywaną klasą, a kolumny z rzeczywistą klasą. Prawidłowe wartości będą w linii ukośnej. Dodaj wszystkie wartości, a otrzymasz procent dokładności swojej macierzy. Jak zmierzyć wydajność w macierzy pomyłek?
Dokładność = (TP+TN)/(TP+TN+FP+FN)
Gdzie, TP = prawdziwie pozytywny, TN = prawdziwie negatywny, FP = fałszywie pozytywny, FN = fałszywie negatywny
Poziom błędu modelu można również obliczyć za pomocą formuły obliczania współczynnika, która wynosi:
Dokładność = (TP+TN)/(TP+TN+FP+FN) = 1-dokładność
Pojęcie poziomu błędu jest bardzo proste. Załóżmy, że Twój model ma wskaźnik dokładności 80%, a wskaźnik błędów modelu wyniesie 20%.