Sono abbastanza sicuro che è stato chiesto prima, ma non riesco a trovare una rispostasklearn Regressione logistica - caratteristiche importanti
Esecuzione Regressione logistica utilizzando sklearn su Python, io sono in grado di trasformare il mio set di dati per le sue caratteristiche più importanti usando il metodo Transform
classf = linear_model.LogisticRegression()
func = classf.fit(Xtrain, ytrain)
reduced_train = func.transform(Xtrain)
Come posso sapere quali funzioni sono state selezionate come le più importanti? più in generale come posso calcolare il valore p di ciascuna caratteristica nel set di dati?
È a mia conoscenza che la dimensione di coefs_ non è una misura per l'importanza della funzionalità. potresti elidere come dovrei guardare i numeri? Grazie – mel
@mel: Guardando il codice sorgente, posso vedere che 'LogisticRegression.transform' sta effettivamente usando' coef_' per valutare l'importanza della funzione. Considera solo i coefficienti con un valore assoluto più alto per essere più importanti. Il codice pertinente è [qui] (https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/feature_selection/from_model.py). Se vuoi qualche altra definizione di "importanza" dovrai spiegare di cosa si tratta. – BrenBarn
Infatti, 'np.abs (coef_)' è un terribile tentativo di quantificare l'importanza della funzione - un concetto che in realtà non ha molto senso in un'impostazione multivariata (cioè le variabili agiscono congiuntamente per fare la previsione) a meno che il tuo modello non selezione variabile, ad es attraverso la scarsità. Se il modello promuove la scarsità, allora puoi scartare le variabili il cui peso è pari a zero, ma questo è tecnicamente tutto ciò che puoi davvero fare se vuoi essere rigoroso.Alcuni altri modelli espongono 'feature_importance' e, a seconda del modello, questa è una misura più o meno univariata di quanto bene questa funzione spiega dat – eickenberg