Caret e coefficienti (glmnet)


19

Sono interessato a utilizzare il cursore per fare inferenze su un determinato set di dati. È possibile effettuare le seguenti operazioni:

  1. produrre coefficienti di un modello di glmnet che ho addestrato al punto di inserimento. Vorrei usare glmnet a causa della selezione intrinseca delle funzionalità in quanto non credo che abbia glm?

  2. oltre alla metrica ROC, esiste un'altra metrica che posso utilizzare per valutare il modello? Come aggiustato ?R2

Lo scopo di questa analisi è quello di ricavare alcune deduzioni sugli effetti di particolari variabili, piuttosto che sulla previsione. Mi piace solo il pacchetto Custode perché finora è stato facile lavorare con le matrici.


3
Il pacchetto con il cursore include una serie di vignette (e un documento JSS) che coprono la maggior parte delle domande. Potresti indicare cosa intendi esattamente con "derivare qualche inferenza sull'effetto di particolari variabili?"
chl

Inferenza tramite i coefficienti. Sto leggendo la modellazione predittiva applicata per saperne di più sulla R e sulla costruzione di modelli contemporaneamente. Avevo letto le vignette e il pdf, ma ci sono così tante funzioni che è difficile tenerle traccia di tutte. Zach ha risposto alla mia domanda, tuttavia, quindi sono grato. Grazie!
user2300643

In realtà ho trovato il link io do qui per dare la migliore risposta per estrarre il modello coefficienti finali stackoverflow.com/questions/48079660/...
Nusrat rabbii

Risposte:


40

Supponiamo che il tuo modello di cursore sia chiamato "modello". È possibile accedere al modello glmnet finale con model$finalModel. È quindi possibile chiamare coef(model$finalModel), ecc. Dovrai selezionare un valore di lambda per il quale desideri coefficienti, ad esempio coef(model$finalModel, model$bestTune$.lambda).

Dai un'occhiata al summaryFunctionparametro per la trainControlfunzione. Ti permetterà di specificare qualsiasi funzione che vuoi minimizzare (o massimizzare, vedi l' maximizeargomento a train), dato un predittore e una risposta.

In questo modo potrebbe essere difficile ottenere R ^ 2 regolato, ma probabilmente potresti ottenere R ^ 2 o qualcosa di simile.


3
Grazie Zach. Era esattamente così. Inoltre, voglio ringraziarvi per il pacchetto caretEnsemble. Per favore continuate così.
user2300643

@ user2300643 Nessun problema! Sono contento che tu stia usando il pacchetto.
Zach,

6
Nella caretversione 6.0.78, lambda meglio sintonizzati è ora: model$bestTune$lambda.
Harrison,

c'è un modo per ottenere gli errori standard di quei coefficienti?
saifulsafuan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.