Scikit-learn i podstawy korzystania z algorytmów uczących

scikit-learn algorytmy

Biblioteka scikit-learn zawiera implementację wszystkiego co potrzebne do pracy z uczeniem maszynowym w Pythonie. Dodatkowo jest dostępna całkowicie za darmo jako projekt open source. Dzięki temu, że twórcy ściśle podążają za ustalonymi konwencjami, korzystanie z niej i rozpoczęcie trenowania swojego modelu to kwestia kilku minut. Kluczowe są zawsze dwie metody, które opisuję poniżej.

Na początek warto wiedzieć, że każdy algorytm w scikit-learn dziedziczy po jednej z klas z modułu sklearn.base:

  • ClassifierMixin – dla klasyfikacji
  • CusterMixin – dla klasteryzacji
  • RegressorMixiin dla regresji

Jeżeli chodzi o metody, które są wykorzystywane w procesie uczenia, a o których piszę – są one wystarczające by trenować swój model i implementowane przez każdy algorytm w bibliotece. Sam obiekt trenowanego przez algorytm modelu tworzymy przy pomocy konstruktora algorytmu. Np dla Naiwnego klasyfikatora bayesowskiego, wygląda to tak:

Opisane poniżej metody są składowymi  utworzonego modelu.

fit(x, y)

Metoda fit służy do przygotowania modelu na podstawie dostarczonych – treningowych – danych. Gdzie jako pierwszy parametr (x) podajemy przygotowany zbiór danych na podstawie, których chcemy dokonać przewidywania, a jako drugi parametr (y) odpowiadający mu zbiór danych wynikowych. fit zwraca ponownie obiekt modelu, jednak nie trzeba tego robić.

predict(x)

Predict dokonuje przewidywania – czyli głównej interesującej wszystkich operacji. Jako parametr przyjmuje zbiór danych, dla których chcemy dokonać przewidywania. Na ich podstawie określa szukane wartości i zwraca zbiór wynikowy.

W użyciu wygląda to tak:

 

Jeszcze jedną podstawową i przydatną funkcją (nie obecną jednak chyba w innych algorytmach niż te z domeny regresji i klasyfikacji) jest:

score(x, y)

Służy ona do określenia skuteczności naszego modelu w oparciu o podane parametry, gdzie x to dane na podstawie, których przewidujemy, a y to odpowiadające mu dane wynikowe. Score zwraca liczbę zmiennoprzecinkową, gdzie najwyższą wartością może być 1.0 oznaczająca idealne dopasowanie.

Jeżeli chodzi o mierzenie wydajności(czy raczej dokładności) naszego modelu to scikit-learn udostępnia moduł metrics zawierający szereg różnych funkcjonalności pozwalających uzyskać masę danych dotyczących min. skuteczności dopasowań. O tym postaram się napisać kilka słów w innym wpisie.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *