Jak stosować siatkę elastyczną?
Jest to pytanie dla początkujących dotyczące regularyzacji z regresją. Większość informacji na temat elastycznej sieci i regresji Lasso online replikuje informacje z Wikipedii lub oryginalnego artykułu z 2005 roku autorstwa Zou i Hastie (Regularyzacja i wybór zmiennych za pomocą elastycznej sieci).
zasób prostej teorii? czy istnieje proste i łatwe Wyjaśnienie gdzieś o tym, co robi, kiedy i dlaczego reguaryzacja jest konieczna i jak jej używać-dla tych, którzy nie są statystycznie skłonny? Rozumiem, że oryginalny papier jest idealnym źródłem, jeśli można go zrozumieć, ale czy jest gdzieś, że po prostu problem i rozwiązanie?
Jak korzystać w sklearn? czy istnieje przykład krok po kroku pokazujący, dlaczego wybrano elastyczną siatkę (over ridge, lasso lub po prostu prosty OLS) i jak obliczane są parametry? Wiele przykładów na sklearn zawiera tylko parametry alfa i rho bezpośrednio w modelu predykcyjnym, 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)
Nie wyjaśniają jednak, w jaki sposób zostały one obliczone. Jak obliczyć parametry dla lasso lub net? 2 answers
Brakuje dokumentacji. Stworzyłem nowy numer , aby go poprawić. Jak powiedział Andreas najlepszym zasobem jest prawdopodobnie ESL II bezpłatnie dostępny online w formacie PDF.
Aby automatycznie dostroić wartość alfa, możliwe jest użycie ElasticNetCV , która oszczędzi zbędne obliczenia, jak przystało na użycie GridSearchCV w klasie ElasticNet
do strojenia alpha
. W dopełniaczu można użyć zwykłej GridSearchCV
do znalezienia optymalnej wartości rho
. Zobacz też docstring of ElasticNetCV fore more details.
Jeśli chodzi o Lasso vs ElasticNet, ElasticNet ma tendencję do wybierania większej liczby zmiennych, co prowadzi do większych modeli (również droższych w treningu), ale także jest bardziej dokładny w ogóle. 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 prawdopodobne, aby wybrać oba, które powinny prowadzić do bardziej stabilnego modelu (w kategoriach możliwość uogólniania tak nowych próbek).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-06 12:10:17
Chciałbym zwrócić uwagę na ten wpis na blogu: http://www.datarobot.com/blog/regularized-linear-regression-with-scikit-learn/.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-03 20:59:59