Gracias Carlos e Isidro, finalmente utilicé el propio XgBoost para
seleccionar las variables con las que hacer el RF. HabÃa 47, de las casi
55.000, que mostraban una ganancia superior que el resto, asà que hice el
RF con esas sin problema. La idea original era aplicar RF para seleccionar
las variables más importantes por su contribución a la predicción,
utilizando meandecraseaccuracy, y es lo que hice, aunque partiendo de esas
47. Resultó que con tan solo 5 genes puedo predecir la malignidad de
tumores (neurofibromas) con una sensibilidad del 98%. Un hallazgo
interesante.
Gracias de nuevo,
Manuel
El dom, 28 may 2023 a las 21:58, Carlos Ortega (<cof en qualityexcellence.es
Hola Manuel,
"ranger" paraleliza de forma automática, usando todos los cores que
tienes. Está bastante optimizado...
El que se quede sin memoria, puede tener que ver, tanto por el número de
columnas que comentas, como que alguna de tus variables (o varias) si es
categórica y tiene múltiples niveles esas 54973 columnas pueden aumentar
mucho ("ranger" hace un one-hot interno).
Y si el problema son las columnas. ¿Tienes que usar todas las columnas?.
Puedes plantearte alguna alternativa para seleccionar las variables
importantes. El paquete "Boruta" es uno de ellos, pero también puedes
diferentes modelos en modo "boostrap" seleccionado diferentes columnas
ver con cuáles quedarte al final.
Y otra alternativa cuando tienes problemas de memoria, es usar H2O....
Gestiona muy bien la memoria.
Gracias,
Carlos.
El dom, 28 may 2023 a las 13:29, Manuel Mendoza (<
mmendoza en fulbrightmail.org>) escribió:
Muy buenas, estoy aplicando random forest a una df de 256 filas y 54973
columnas y me quedo sin memoria. He probado con randomForest y con
y con los dos pasa. ¿Tenéis alguna solución para esto (que no sea
comprarse
un ordenador más potente:-) ?. Pude aplicar XgBoost, incluso cerca de
veces (unas 16 horas), para optimizar los hiperparámetros con una
de búsqueda, pero XgBoost utiliza varios núcleos a la vez. No sé si hay
forma de hacer que randomForest o ranger utilicen más núcleos. Cualquier
otra solución serÃa buena, claro.
Gracias,
Manuel
[[alternative HTML version deleted]]