Caret i współczynniki (glmnet)

19

Interesuje mnie korzystanie z narzędzia do robienia wniosków na temat określonego zestawu danych. Czy można wykonać następujące czynności:

  1. wytwarzam współczynniki modelu glmnet, który trenowałem w toku. Chciałbym używać glmnet ze względu na nieodłączny wybór funkcji, ponieważ nie wierzę, że glm go ma?

  2. inne niż metryka ROC, czy istnieje inna metryka, której mogę użyć do oceny dopasowania modelu? Takich jak skorygowane ?R2)

Celem tej analizy jest wyciągnięcie wniosków na temat skutków poszczególnych zmiennych, a nie prognozowanie. Po prostu podoba mi się pakiet karetki, ponieważ do tej pory korzystanie z macierzy było łatwe.

użytkownik2300643
źródło
3
Pakiet daszek pochodzi z serii winiet (i papieru JSS), że pokrywa większość pytań. Czy możesz wskazać, co dokładnie masz na myśli, „wyciągając wnioski na temat wpływu poszczególnych zmiennych?”
chl
Wnioskowanie za pomocą współczynników. Czytam poprzez Applied Predictive Modeling, aby dowiedzieć się więcej o R i budowaniu modeli jednocześnie. Przeczytałem winiety i pdf, ale jest tak wiele funkcji, że trudno je wszystkie śledzić. Zach odpowiedział jednak na moje pytanie, więc jestem wdzięczny. Dzięki!
user2300643,
Właściwie znalazłem link, który tu podaję, aby dać najlepszą odpowiedź na wyodrębnienie ostatecznych współczynników modelu stackoverflow.com/questions/48079660/…
Nusrat Rabbee

Odpowiedzi:

40

Powiedzmy, że twój model karetki nazywa się „modelem”. Możesz uzyskać dostęp do ostatecznego modelu glmnet za pomocą model$finalModel. Następnie możesz zadzwonić coef(model$finalModel)itp. Będziesz musiał wybrać wartość lambda, dla której chcesz uzyskać współczynniki, takie jak coef(model$finalModel, model$bestTune$.lambda).

Spójrz na summaryFunctionparametr trainControlfunkcji. Pozwoli ci to określić dowolną funkcję, którą chcesz zminimalizować (lub zmaksymalizować, patrz maximizeargument do train), podając predyktor i odpowiedź.

W ten sposób może być trudno uzyskać skorygowane R ^ 2, ale prawdopodobnie możesz dostać R ^ 2 lub coś podobnego.

Zach
źródło
3
Dziękuję Zach. To było dokładnie to. Chciałbym również podziękować za pakiet caretEnsemble. Proszę, kontynuujcie dobrą robotę.
user2300643,
@ user2300643 Nie ma problemu! Cieszę się, że korzystasz z pakietu.
Zach.
6
W caretwersji 6.0.78, najlepiej dostrojony lambda jest teraz: model$bestTune$lambda.
Harrison
czy istnieje sposób na uzyskanie standardowych błędów tych współczynników?
saifulsafuan