Co to jest klasyfikacja?

Ukończone

Klasyfikacja binarna to klasyfikacja z dwiema kategoriami. Na przykład możemy oznaczyć pacjentów jako chorych na cukrzycę lub cukrzycę.

Przewidywanie klasy jest wykonywane przez określenie prawdopodobieństwa dla każdej możliwej klasy jako wartości z zakresu od 0 (niemożliwe) do 1 (niektóre). Całkowite prawdopodobieństwo dla wszystkich klas wynosi zawsze 1, ponieważ pacjent jest zdecydowanie z cukrzycą lub bez cukrzycy. Jeśli więc przewidywane prawdopodobieństwo cukrzycy pacjenta wynosi 0,3, wówczas istnieje odpowiednie prawdopodobieństwo 0,7, że pacjent jest bez cukrzycy.

Wartość progowa, często 0,5, służy do określania przewidywanej klasy. Jeśli klasa dodatnia (w tym przypadku cukrzyca) ma przewidywane prawdopodobieństwo większe niż próg, przewidywana jest klasyfikacja cukrzycy.

Trenowanie i ocenianie modelu klasyfikacji

Klasyfikacja jest przykładem nadzorowanej techniki uczenia maszynowego, co oznacza, że opiera się na danych, które zawierają znane wartości funkcji i znane wartości etykiet. W tym przykładzie wartości funkcji są pomiarami diagnostycznymi dla pacjentów, a wartości etykiet są klasyfikacją osób bez cukrzycy lub cukrzycy. Algorytm klasyfikacji służy do dopasowania podzestawu danych do funkcji, która może obliczyć prawdopodobieństwo dla każdej etykiety klasy z wartości funkcji. Pozostałe dane są używane do oceny modelu przez porównanie przewidywań generowanych z funkcji do znanych etykiet klas.

Prosty przykład

Przyjrzyjmy się przykładowi, aby wyjaśnić kluczowe zasady. Załóżmy, że mamy następujące dane pacjentów, które składają się z jednej funkcji (poziomu glukozy we krwi) i etykiety klasy 0 dla cukrzycy, 1 dla cukrzycy.

Stężenie glukozy we krwi Cukrzyk
82 0
92 0
112 1
102 0
210 1
107 1
87 0
120 1
83 0
119 1
104 1
105 0
86 0
109 1

Używamy pierwszych ośmiu obserwacji do trenowania modelu klasyfikacji i zaczynamy od wykreślenia funkcji glukozy we krwi (x) i przewidywanej etykiety cukrzycy (y).

Wykres glukozy we krwi wykreślił na cukrzycę (0 lub 1) bez linii trendu.

Potrzebujemy funkcji, która oblicza wartość prawdopodobieństwa dla y na podstawie wartości x (innymi słowy, potrzebujemy funkcji f(x) = y). Na wykresie widać, że pacjenci z niskim poziomem glukozy we krwi są wszyscy bez cukrzycy, podczas gdy pacjenci z wyższym poziomem glukozy we krwi są cukrzycowe. Wydaje się, że im wyższy poziom glukozy we krwi, tym bardziej prawdopodobne jest, że pacjent jest cukrzycowy, a punkt przegięcia jest gdzieś między 100 a 110. Musimy dopasować funkcję, która oblicza wartość z zakresu od 0 do 1 dla wartości y.

Jedną z takich funkcji jest funkcja logistyczna , która tworzy krzywą sigmoidalną (w kształcie S).

Wykres glukozy we krwi nakreślony na cukrzycę (0 lub 1) z sigmoidalną linią trendu.

Teraz możemy użyć funkcji , aby obliczyć wartość prawdopodobieństwa, która jest dodatnia, co oznacza, że pacjent ma cukrzycę, z dowolnej wartości x, wyszukując punkt w wierszu funkcji x. Możemy ustawić wartość progową 0,5 jako punkt odcięty dla przewidywania etykiety klasy.

Przetestujmy ją przy użyciu dwóch wartości danych, które wstrzymaliśmy.

Wykres glukozy we krwi wykreślił z cukrzycą (0 lub 1) z sigmoidalną linią trendu i wartością progową ustawioną na 0,5.

Punkty nakreślone poniżej linii progowej dają przewidywaną klasę 0 (bez cukrzycy) i punkty powyżej linii są przewidywane jako 1 (cukrzyca).

Teraz możemy porównać przewidywania etykiet (ŷ lub "y-hat"), na podstawie funkcji logistycznej hermetyzowanej w modelu do rzeczywistych etykiet klas (y).

x t
83 0 0
119 1 1
104 1 0
105 0 1
86 0 0
109 1 1