es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Método para elegir variables para el modelo.

Tengo una población de 2 millones de personas y 700 variables (que tienen muchos nulos, ceros o -9999), para las cuales desarrollo un modelo en python, que funciona de la siguiente manera:

Genero un dataframe de toda la población y las variables.
Elimino las variables que no necesito (como el ID, el nombre, por ejemplo).
Divido los datos y calculo los indicadores con ks_2samp (scipy.stats) y luego filtro aquellos con índices muy bajos (roc, ks).
Luego, obtengo las correlaciones de todas las variables y filtro nuevamente.
Justo después de esto, genero el modelo utilizando Xgboost. Usando shap.TreeExplainer, obtengo la importancia de todas las variables que finalmente quedaron en mi modelo (alrededor de 90 variables).
Aunque reduje el número de variables, aún hay demasiadas. ¿Alguien sabe alguna forma de seguir eliminando variables? Mi idea es llegar a tener hasta 30 variables.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Un enfoque posible para reducir aún más el número de variables es utilizar métodos de selección de características. Hay varias técnicas disponibles, como:

    • Eliminación recursiva de características (RFE): Este método funciona eliminando recursivamente las características menos importantes de los datos hasta alcanzar el número deseado de características. Puede combinarse con una estrategia de validación cruzada para seleccionar el número óptimo de características.
    • Regularización Lasso: Este método agrega un término de penalización a la función objetivo del modelo que fomenta coeficientes pequeños. Como resultado, algunas características se establecen efectivamente en cero y se eliminan del modelo.

    • Bosques aleatorios: Este método clasifica la importancia de las características según cuánto mejoran la precisión de clasificación del modelo. Las características con poca importancia pueden descartarse.

    Otra opción es utilizar técnicas de reducción de dimensionalidad, como el análisis de componentes principales (PCA) o la embebida estocástica vecina con distribución t (t-SNE), para transformar los datos originales en un espacio de menor dimensionalidad que retenga la mayoría de la información. Sin embargo, este enfoque puede no ser adecuado si la interpretabilidad es importante.

    En última instancia, la elección del método depende de las características específicas de los datos y del problema en cuestión. Es importante evaluar cuidadosamente el rendimiento e interpretabilidad de los modelos resultantes y seleccionar el número óptimo de características que equilibren el poder predictivo y la simplicidad.

Comments are closed.