Jest to początkujące pytanie dotyczące regularyzacji regresji. Większość informacji na temat elastycznej siatki i regresji Lasso online replikuje informacje z Wikipedii lub oryginalnego papieru 2005 przez Zou i Hastie (regularyzacja i wybór zmiennej przez elastyczną sieć).

zasób dla prostej teorii? Czy istnieje proste i łatwe wyjaśnienie gdzieś na temat tego, co robi, kiedy i dlaczego regularyzacja jest niezbędna, a jak go używać - dla tych, którzy nie są statystycznie skłonny? Rozumiem, że oryginalny papier jest idealnym źródłem, jeśli możesz go zrozumieć, ale jest gdzieś, że jest to problem i rozwiązanie?

jak używać w sklearn? Czy przykład krok po kroku pokazujący, dlaczego wybrany jest elastyczna sieć (nad grzbietem, lasso lub po prostu proste OLS) i jak obliczane są parametry ? Wiele z Przykłady w SKLEARN po prostu zawierać parametry Alpha i Rho bezpośrednio do modelu przewidywania , dla Przykład:

from sklearn.linear_model import ElasticNet
alpha = 0.1
enet = ElasticNet(alpha=alpha, rho=0.7)
y_pred_enet = enet.fit(X_train, y_train).predict(X_test)

Jednak nie wyjaśniają, jak te zostały obliczone. Jak obliczyć parametry lasso lub sieci?

27
Zach 5 wrzesień 2012, 17:59

2 odpowiedzi

Najlepsza odpowiedź

Brakuje dokumentacji. Stworzyłem nową , aby go poprawić. Ponieważ Andreas powiedział, że najlepszy zasób jest prawdopodobnie ESL II swobodnie dostępne online jako PDF.

Aby automatycznie dostroić wartość alfa, jest rzeczywiście możliwe do użycia ElasticnetCV, który zapasuje redundantną obliczanie jako zablokowane do użycia gridsearchCV w klasie ElasticNet do strojenia alpha. W uzupełnieniu można użyć regularnego GridSearchCV do znalezienia optymalnej wartości rho. Zobacz DocString of ElasticNetCV przed więcej szczegółów.

Jeśli chodzi o Lasso vs ElasticNet, ElasticNet będzie zazwyczaj wybieranie większej liczby zmiennych, a zatem prowadzić do większych modeli (również droższe do trenowania), ale także bardziej dokładne. W szczególności Lasso jest bardzo wrażliwy na korelację między funkcjami i może wybrać losowo jedną z 2 bardzo skorelowanych funkcji informacyjnych, podczas gdy ElasticNet będzie bardziej prawdopodobny do wyboru zarówno, co powinno prowadzić do bardziej stabilnego modelu (pod względem zdolności uogólnienia tak nowych próbek).

25
ogrisel 6 wrzesień 2012, 12:10

Wskazałbym ci na ten blog Post: http: // www .datARobot.com / Blog / Regular-linear-regresja-z-Scikit-Learn /.

4
Tim Lewandowski 3 kwiecień 2014, 20:59