python - regresion - ¿Cómo encontrar la importancia de las características para un modelo de regresión logística?
modelos predictivos random forest (1)
Tengo un modelo de predicción binario entrenado por un algoritmo de regresión logística. Quiero saber qué características (predictores) son más importantes para la decisión de clase positiva o negativa. Sé que el parámetro coef_
viene del paquete scikit-learn, pero no sé si es suficiente para la importancia. Otra cosa es cómo puedo evaluar los valores de coef_
en términos de la importancia para las clases negativas y positivas. También leí sobre los coeficientes de regresión estandarizados y no sé qué es.
Digamos que hay características como el tamaño del tumor, el peso del tumor, etc. para tomar una decisión para un caso de prueba como maligno o no maligno. Quiero saber cuáles de las características son más importantes para la predicción maligna y no maligna. ¿Tiene sentido?
Una de las opciones más simples para tener una idea de la "influencia" de un parámetro dado en un modelo de clasificación lineal (siendo uno de esos aspectos logísticos) es considerar la magnitud de su coeficiente por la desviación estándar del parámetro correspondiente en los datos .
Considera este ejemplo:
import numpy as np
from sklearn.linear_model import LogisticRegression
x1 = np.random.randn(100)
x2 = 4*np.random.randn(100)
x3 = 0.5*np.random.randn(100)
y = (3 + x1 + x2 + x3 + 0.2*np.random.randn()) > 0
X = np.column_stack([x1, x2, x3])
m = LogisticRegression()
m.fit(X, y)
# The estimated coefficients will all be around 1:
print(m.coef_)
# Those values, however, will show that the second parameter
# is more influential
print(np.std(X, 0)*m.coef_)
Una forma alternativa de obtener un resultado similar es examinar los coeficientes del modelo que se ajustan a los parámetros estandarizados:
m.fit(X / np.std(X, 0), y)
print(m.coef_)
Tenga en cuenta que este es el enfoque más básico y que existen otras técnicas para encontrar la importancia de la característica o la influencia de los parámetros (utilizando valores de p, puntajes de arranque, varios "índices discriminativos", etc.).
Estoy bastante seguro de que obtendría más respuestas interesantes en https://stats.stackexchange.com/ .