Circunflexo e coeficientes (glmnet)

19

Estou interessado em utilizar o sinal de intercalação para fazer inferências sobre um conjunto de dados específico. É possível fazer o seguinte:

  1. produzir coeficientes de um modelo glmnet que eu treinei em circunflexo. Eu gostaria de usar o glmnet por causa da seleção de recursos inerentes, pois não acredito que o glm possua?

  2. além da métrica ROC, existe outra métrica que eu possa utilizar para avaliar o ajuste do modelo? Como ajustado ?R2

O objetivo desta análise é derivar alguma inferência sobre os efeitos de variáveis ​​particulares, e não para previsão. Eu apenas gosto do pacote de sinal de intercalação, porque foi fácil trabalhar até agora usando matrizes.

user2300643
fonte
3
O pacote de intercalação vem com uma série de vinhetas (e um documento JSS) que cobrem a maioria das suas perguntas. Você poderia indicar o que exatamente você quer dizer com "derivar alguma inferência sobre o efeito de variáveis ​​específicas?"
chl
Inferência através dos coeficientes. Estou lendo a Modelagem Preditiva Aplicada para aprender mais sobre R e construção de modelos simultaneamente. Eu tinha lido as vinhetas e o pdf, mas há tantas funções que é difícil acompanhar todas elas. Zach respondeu à minha pergunta, no entanto, por isso estou agradecido. Obrigado!
user2300643
Na verdade, encontrei o link que dou aqui para fornecer a melhor resposta para extrair os coeficientes do modelo final stackoverflow.com/questions/48079660/…
Nusrat Rabbee

Respostas:

40

Vamos dizer que o seu modelo de sinal de intercalação é chamado "modelo". Você pode acessar o modelo glmnet final com model$finalModel. Você pode ligar coef(model$finalModel), etc. Você terá que selecionar um valor de lambda para o qual deseja coeficientes, como coef(model$finalModel, model$bestTune$.lambda).

Dê uma olhada no summaryFunctionparâmetro para a trainControlfunção. Isso permitirá que você especifique qualquer função que deseja minimizar (ou maximizar, consulte o maximizeargumento train), dado um preditor e uma resposta.

Pode ser difícil obter R ^ 2 ajustado dessa maneira, mas você provavelmente pode obter R ^ 2 ou algo semelhante.

Zach
fonte
3
Obrigado, Zach. Foi exatamente isso. Além disso, quero agradecer o seu pacote caretEnsemble. Por favor, mantenha o bom trabalho.
user2300643
@ user2300643 Sem problemas! Estou feliz que você esteja usando o pacote.
Zach
6
Na caretversão 6.0.78, lambda melhor sintonizado é agora: model$bestTune$lambda.
Harrison
existe uma maneira de obter os erros padrão desses coeficientes?
saifulsafuan 30/06