Co to są wskaźniki Sklearna i dlaczego musisz o nich wiedzieć?

Opublikowany: 2021-10-22

Python jest jednym z najczęściej używanych języków programowania wśród programistów na całym świecie. Jego możliwości automatyzacji danych i algorytmów sprawiają, że idealnie nadaje się do budowania i szkolenia programów, maszyn i systemów komputerowych oraz tworzenia prognoz. Dlatego kandydaci ze znajomością języka Python są coraz częściej wybierani na lukratywne ścieżki kariery, takie jak Machine Learning i Data Science.

Jeśli jesteś początkującym, samodzielne znalezienie odpowiednich narzędzi może wydawać się trudne. Darmowe oprogramowanie, takie jak Scikit-learn, może umożliwić Ci zdobycie odpowiednich umiejętności przy niewielkim wysiłku. Biblioteka uczenia maszynowego zawiera kilka algorytmów klasyfikacji, regresji i klastrowania dla programistów Pythona.

Ten blog skoncentruje się w szczególności na problemach klasyfikacji i metrykach sklearn, aby poprowadzić Cię w Twojej podróży edukacyjnej. Dowiesz się o zastosowaniu metryk oceny, a także zrozumiesz stojącą za nimi matematykę.

Spis treści

Metryki klasyfikacji w Scikit-Learn

Klasyfikacja jest integralną częścią modelowania predykcyjnego. Używasz go do identyfikacji klasy, do której należy dana próbka z populacji. Załóżmy, że chcesz przewidzieć, czy pacjent zostanie ponownie hospitalizowany. Dwa możliwe typy to – pozytywny (hospitalizowany) i negatywny (nie hospitalizowany). Model klasyfikacji przewidziałby przedział, w którym należy umieścić próbkę, przewidywany wynik pozytywny lub przewidywany negatywny. Dokładność przewidywań odkryjesz po wytrenowaniu modelu.

Większość naukowców zajmujących się danymi i inżynierów uczenia maszynowego używa pakietu Scikit-Learn do analizowania wydajności modeli predykcyjnych. Moduł metryk sklearn zapewnia dostęp do wielu wbudowanych funkcji. Odkryjmy proces pisania funkcji od podstaw za pomocą tych metryk.

Dołącz do kursu uczenia maszynowego online z najlepszych uniwersytetów na świecie — studiów magisterskich, programów podyplomowych dla kadry kierowniczej i zaawansowanego programu certyfikacji w zakresie uczenia maszynowego i sztucznej inteligencji, aby przyspieszyć swoją karierę.

Wyjaśnienie metryk Sklearna

Metryki Sklearn umożliwiają implementację wyników, strat i funkcji użyteczności do oceny wydajności klasyfikacji.

Oto kluczowe kroki:

  • Załaduj dane;
  • Podziel go na zestaw pociągowy i zestaw testowy;
  • Zbuduj model szkolenia;
  • Dokonuj przewidywań lub prognoz na podstawie danych testowych;
  • Oceń model uczenia maszynowego określoną metodą.

Aby kontynuować, musisz załadować przykładowy zestaw danych i możliwości prognozowania dla dwóch modeli: lasu losowego i regresji liniowej. Nazwijmy je Model_RF i Model_LR.

Uruchom ten kod, aby zaimportować moduł Pandas i odczytać plik danych oraz sprawdzić jego elementy.

importuj pandy jako ps

df = ps.read_csv('data.csv')

df.głowa()

W większości projektów definiujesz próg i oznaczasz prawdopodobieństwa prognoz jako przewidywane pozytywne i przewidywane negatywne. Spowoduje to dodanie do tabeli dwóch dodatkowych kolumn.

młócenie = 0,5

df['forecasted_RF'] = (df.model_RF >= 0.5).astype('int')

df['prognozowany_LR'] = (df.model_LR >= 0.5).astype('int')

df.głowa()

Teraz, gdy mamy aktualne i prognozowane etykiety, możemy podzielić nasze próbki na cztery różne segmenty.

Dzięki mieszance_matrix możemy uzyskać macierz 2X2 z etykietami rozwidlonymi na następujące segmenty:

  • Prawdziwie pozytywne (TP)
  • Fałszywy wynik pozytywny (FP)
  • Fałszywy negatywny (FN)
  • Prawdziwie negatywna (TN)

Po zaimportowaniu macierzy_konsumpcji z metryk sklearn i przekazaniu rzeczywistych i prognozowanych etykiet, możesz zdefiniować swoje funkcje, aby to zweryfikować.

Możesz również ręcznie sprawdzić, czy wyniki są zgodne, korzystając z funkcji asercji Pythona i funkcji array_equal NumPy.

Możemy obliczyć wiele innych wskaźników wydajności, korzystając z czterech segmentów TP, FP, TN i FN. To są:

1. wynik_dokładności

Pobiera rzeczywiste i prognozowane etykiety jako dane wejściowe i generuje ułamek prawidłowo przewidywanych próbek.

2. ocena_przypominania

Podaje ułamek prawidłowo przewidywanych pozytywnych zdarzeń. Odwołanie jest również znane jako wrażliwość.

3. wynik_dokładności

Pokazuje część przewidywanych pozytywnych zdarzeń, które są pozytywne.

Po obliczeniu wszystkich tych wskaźników załóżmy, że model RF jest lepszy pod względem przywołania i precyzji. Wybór tutaj byłby łatwy. Ale co by było, gdyby model LR był lepszy w pamięci, a model RF miał lepszą precyzję? W takim przypadku będziesz potrzebować innej metody zwanej wynikiem F1.

4. f1_score

Jest to średnia harmoniczna pamięci i precyzji. Model z wyższym wynikiem jest uważany za lepszą opcję.

Powyższe wskaźniki zostały obliczone przy określonym progu 0,5. Można się zastanawiać, czy zmiana tego progu zmieniłaby również wskaźniki wydajności. Odpowiedź? Tak, to będzie.

Mamy inny sposób oceny modelu bez wyznaczania progu, tj. krzywe charakterystyki operacyjnej odbiornika (ROC). Scikit-learn posiada również wbudowane funkcje do ich analizy.

Funkcje roc_curve i roc_auc_score przyjmują rzeczywiste etykiety i prognozowane prawdopodobieństwa jako dane wejściowe.

  • roc_curve

Zwraca trzy listy, a mianowicie progi (unikalne prognozowane prawdopodobieństwa w kolejności malejącej), FPR (współczynniki fałszywie dodatnie) i TPR (współczynniki prawdziwie dodatnie).

  • roc_auc_curve

Znajduje obszary pod krzywą dla modeli RF i LR.

Możesz określić lepszą metrykę wydajności po wykreśleniu krzywej ROC i dodaniu AUC do legend.

Podsumowując

W analityce predykcyjnej możesz wybierać spośród wielu różnych metryk. Dokładność, przywołanie, precyzja, f1 i AUC to tylko niektóre z popularnych wyników.

Niektórzy mogą preferować zdefiniowanie progu i użycie wskaźników wydajności, takich jak dokładność, przypomnienie, precyzja i wyniki f1. Inni mogą chcieć użyć AUC do analizy wydajności modelu, ponieważ nie wymaga to wyboru progu. Na koniec powinieneś wybrać miernik, który najlepiej odpowiada danemu problemowi biznesowemu.

W ten sposób przedstawiliśmy Ci przegląd metryk Sklearn. Możesz użyć tych informacji, aby wyjaśnić podstawy programowania w Pythonie i kontynuować naukę dzięki kursom online. Możesz również podjąć pracę projektową, aby ćwiczyć i doskonalić swoje umiejętności. Programy takie jak Master of Science w zakresie uczenia maszynowego i sztucznej inteligencji upGrad mogą pomóc w obu przypadkach.

Program nauczania zapozna Cię z pełnym zestawem narzędzi do nauki o danych i obejmuje praktyczne aspekty Scikit-Learn i innego oprogramowania. Ponadto referencje z renomowanych instytutów, takich jak Liverpool John Moores University i IIIT Bangalore, wyróżniają Cię na tle konkurencji w zakresie aplikacji o pracę i rozmów kwalifikacyjnych.

Czym są metryki oceny w Pythonie?

Metryki oceny są zwykle używane do rozwiązywania problemów z klasyfikacją w Pythonie. Scikit-Learn to bezpłatna biblioteka uczenia maszynowego, która umożliwia szeroki zakres zadań analizy predykcyjnej. Aspirujący naukowcy zajmujący się danymi i inżynierowie zajmujący się uczeniem maszynowym mogą go używać do przewidywania danych i analizowania jakości określonych modeli.

Dlaczego potrzebujesz metryk Sklearn?

Metryki Sklearn pozwalają ocenić jakość Twoich prognoz. Możesz użyć tego modułu w Scikit-Learn dla różnych zestawów danych, funkcji oceny i metryk wydajności. Macierz pomyłek w sklearn jest przydatną reprezentacją dokładności przewidywań. Dzięki danym wejściowym, takim jak rzeczywiste i przewidywane etykiety, wraz ze zdefiniowanym progiem lub wartością ufności, można obliczyć metryki, takie jak przypomnienie, precyzja i wyniki f1. Metoda krzywej ROC równoważy szacunki prawdopodobieństwa i podaje metrykę wydajności pod względem obszaru pod krzywą.

W jaki sposób kształcenie podyplomowe w zakresie AI i ML pomaga w rozwoju kariery?

Większość zaawansowanych certyfikatów w dziedzinie sztucznej inteligencji i uczenia maszynowego obejmuje narzędzia takie jak Scikit-Learn w programie nauczania. Jest to niezbędny element szkolenia w zakresie programowania Python i Data Science. Jednak przepisy dotyczące kodowania w Pythonie i Scikit-Learn nie wystarczą w dzisiejszym konkurencyjnym środowisku pracy. Musisz zdobyć wiedzę branżową i przećwiczyć swoje umiejętności. Wybierz więc programy studiów, które dają możliwość realizacji projektów i zadań.