Biblioteka scikit-learn
Scikit-learn jest darmową biblioteką algorytmów z dziedziny uczenia maszynowego, napisaną w języku Python i zbudowaną na bazie modułu SciPy. Moduł scikit-learn udostępnia programistom wiele algorytmów z dziedziny nadzorowanego i nienadzorowanego uczenia maszynowego w postaci spójnego interfejsu programistycznego. Ponadto moduł jest udostępniony na licencji BSD, co pozwala na jego komercyjne i akademickie użytkowanie.
Regresja liniowa
Tworzenie modelu:
model = LinearRegression()
Dostarczenie danych do nauki: x - dane wejściowe, y - spodziewany wynik
model.fit(x,y)
Parametry modelu liniowego są dostępne w atrybutach:
- współczynnik kierunkowy a:
model.coef_
- wyraz wolny
model.intercept_
Wynik działania obliczonego modelu dla nowej wartości x:
x = 20
y = model.predict(x)
Model regresji liniowej można również zastosować do funkcji wielomianowych. W takim przypadku do uczenia modelu nie wystarczy przekazanie tablicy wartości x, ale powinny być to macierz, gdzie kolumny to kolejne potęgi właściwe dla funkcji wielomianowej: [[x, x2, x3, x4]]. Biblioteka scikit-learn dostarcza pomocniczych funkcji, pozwalających na wykonanie takiej transformaty:
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=4, include_bias=False)
x_new2 = poly.fit_transform(x)
I potem taką macierz x_new2 przekazuję się do funkcji fit.
model.fit(x_new2,y)
W wyniku działania zostnie zwrócony wektor współczynników kierunkowych o długości równej stopniowi funkcji wielomnianowej.