Me he encontrado con un problema similar en el pasado. ¿Está intentando utilizar el paralelismo de scikit-learn modificando el argumento ‘n_jobs’ al clasificador (consulte la descripción en la documentación)? Si es así, debe tener en cuenta que su matriz de entrada se copiará en cada núcleo en el que la ejecute. Entonces, si ejecuta 4 trabajos, en realidad está entrenando en 4 copias completas de los datos de entrada, que en su caso consumirán de inmediato toda la RAM disponible.
Algo peor ocurre si está intentando utilizar la búsqueda de cuadrícula para ajustar sus hiperparámetros: ¡sus datos se copian una vez por punto de cuadrícula por trabajo! Tenga en cuenta que el argumento ‘pre_dispatch’ complica aún más las cosas (de esa misma página de documentación):
Si n_jobs se estableció en un valor superior a uno, los datos se copian para cada punto de la cuadrícula (y no para n_jobs veces). Esto se hace por razones de eficiencia si los trabajos individuales toman muy poco tiempo, pero pueden generar errores si el conjunto de datos es grande y no hay suficiente memoria disponible. Una solución en este caso es establecer pre_dispatch. Luego, la memoria solo se copia pre_dispatch muchas veces. Un valor razonable para pre_dispatch es 2 * n_jobs.
- ¿Puedo usar el algoritmo de aumento de gradiente para datos con tiempo (año) y latitudes y longitudes como predictores?
- ¿Qué herramienta se puede usar para extraer puntos de datos de un gráfico en un archivo PDF y luego recrear ese gráfico con los datos extraídos?
- ¿Cómo se pueden aplicar los grandes datos a los pronósticos económicos?
- Cómo instalar el paquete rcmdr en el software R
- ¿Cómo se toman los estados de Facebook o Tweets, que están escritos en un idioma mixto, en el análisis de sentimientos?
Desafortunadamente, si desea usar Python, no conozco ninguna otra implementación sólida de código abierto de bosques aleatorios. Existen compañías de ML como servicio como Wise.io | Aprendizaje automático como servicio y análisis de Big Data que le permitirán enviar datos, entrenar modelos y obtener resultados utilizando python, y podrían ser gratuitos para los académicos (la respuesta de Joshua Bloom a la Clasificación (Aprendizaje automático): ¿Cuáles son buenas bibliotecas para bosques aleatorios? ?) Si no está vinculado a Python, hay muchas implementaciones excelentes de bosques aleatorios en muchos otros idiomas: recomendaría Weka, que es una biblioteca de Java (y creo que también tiene un enlace R).