2014-10-11 13 views
12

Jako użytkownik R, chciałem również przyspieszyć działanie scikita.Zestaw Sci-Kit i podsumowanie regresji

Rozpoczęto od linii Liniowej, Grzbietu i Lasso. Przeszedłem przez przykłady. Poniżej znajduje się podstawowe OLS.

Utworzenie modelu wydaje się być wystarczająco rozsądne, ale nie można znaleźć rozsądnego sposobu na uzyskanie standardowego zestawu wyników regresji.

przykład w moim kodu:

# Linear Regression 
import numpy as np 
from sklearn import datasets 
from sklearn.linear_model import LinearRegression 
# load the diabetes datasets 
dataset = datasets.load_diabetes() 
# fit a linear regression model to the data 
model = LinearRegression() 
model.fit(dataset.data, dataset.target) 
print(model) 
# make predictions 
expected = dataset.target 
predicted = model.predict(dataset.data) 
# summarize the fit of the model 
mse = np.mean((predicted-expected)**2) 
print model.intercept_, model.coef_, mse, 
print(model.score(dataset.data, dataset.target)) 

Wydaje się przechwycić i COEF jest wbudowany w modelu, a ja po prostu wpisać print (przedostatnia linia), aby je zobaczyć. A co z pozostałymi standardowymi wynikami regresji, takimi jak R^2, dostosowane R^2, wartości p, itd. Jeśli poprawnie przeczytam przykłady, wydaje mi się, że musisz napisać funkcję/równanie dla każdego z nich, a następnie wydrukować.

A więc, czy nie ma standardowego podsumowania wyników dla modeli lin reg?

Również w moim wydrukowanym zestawie wyników współczynników, nie ma nazw zmiennych powiązanych z każdym z nich? Właśnie otrzymuję tablicę numeryczną. Czy istnieje sposób na wydrukowanie tych danych, skąd otrzymuję dane wyjściowe współczynników i zmiennej, z którą są one powiązane?

Mój wydruk

LinearRegression(copy_X=True, fit_intercept=True, normalize=False) 
152.133484163 [ -10.01219782 -239.81908937 519.83978679 324.39042769 -792.18416163 
    476.74583782 101.04457032 177.06417623 751.9 67.62538639] 2859.69039877 
0.517749425413 

Dzięki użytkowników scilearn.

+0

Wiele standardowych wskaźników oceny jest dostępnych w ['sklearn.metrics'] (http://scikit-learn.org/stable/modules/classes.html#sklearn-metrics-metrics). –

Odpowiedz

21

Nie istnieje raport podsumowania regresji typu R w sklearn. Głównym powodem jest to, że sklearn jest używany do modelowania predykcyjnego/uczenia maszynowego, a kryteria oceny opierają się na wynikach na wcześniej niewidocznych danych (takich jak predykcyjne r^2 dla regresji).

Istnieje funkcja podsumowania klasyfikacji o nazwie sklearn.metrics.classification_report, która oblicza kilka typów (predyktywnych) wyników w modelu klasyfikacji.

Aby uzyskać bardziej klasyczne podejście statystyczne, należy spojrzeć na statsmodels.

Powiązane problemy