Estoy interesado en utilizar caret para hacer inferencias en un conjunto de datos en particular. ¿Es posible hacer lo siguiente?
producir coeficientes de un modelo glmnet que entrené en caret. Me gustaría usar glmnet debido a la selección de funciones inherentes, ya que no creo que glm lo tenga.
Aparte de la métrica ROC, ¿hay otra métrica que pueda utilizar para evaluar el ajuste del modelo? Tal como ajustado ?
El propósito de este análisis es derivar alguna inferencia sobre los efectos de variables particulares, más que para la predicción. Simplemente me gusta el paquete caret porque hasta ahora ha sido fácil trabajar con matrices.
Respuestas:
Digamos que su modelo de caret se llama "modelo". Puede acceder al modelo glmnet final con
model$finalModel
. Luego puede llamarcoef(model$finalModel)
, etc. Tendrá que seleccionar un valor de lambda para el que desee coeficientes, comocoef(model$finalModel, model$bestTune$.lambda)
.Observe el
summaryFunction
parámetro para latrainControl
función. Le permitirá especificar cualquier función que desee minimizar (o maximizar, vea elmaximize
argumentotrain
), dado un predictor y una respuesta.Puede ser difícil obtener R ^ 2 ajustado de esta manera, pero probablemente podría obtener R ^ 2 o algo similar.
fuente
caret
la versión6.0.78
, lambda mejor sintonizado es ahora:model$bestTune$lambda
.