Primero, comprendamos algunas características de los algoritmos de Machine Learning y luego comprendamos los detalles de R.
1. La mayoría de los algoritmos de ML son algoritmos iterativos . R está optimizado para operaciones vectoriales pero no para bucles. Los algoritmos iterativos son increíblemente rápidos en Java y Python pero muy ineficientes en R. ¿Cómo aprovechar las ventajas de los bucles en R? Ver [1], [2]
2. Muchos de los algoritmos de ML tienen una optimización involucrada, que esencialmente requiere un cálculo intensivo . Por lo tanto, el proceso genera muchos datos intermitentes para almacenar y vaciar, lo cual es costoso para un lenguaje como R debido a su búsqueda de un bloque contiguo de memoria en la RAM. Ver [3]
3. Muchos de los algoritmos de ML requieren mucha memoria . Ellos iteran, optimizan, iteran, optimizan y finalmente convergen. Por lo tanto, la gestión de la memoria es esencial para que un lenguaje tenga algoritmos de ML eficientes. Pero, R almacena todo en RAM. Por lo tanto, un algoritmo como el bosque aleatorio podría quedarse sin memoria cuando se ejecuta en una máquina RAM de 4GB en un conjunto de datos de 100,000 x 50.
Inherentemente, R es bastante lento y está optimizado para operaciones vectoriales . También es un lenguaje interpretado, a diferencia de un lenguaje compilado. Java y Python superan las desventajas anteriores en términos de administración de memoria, velocidad y nuevas bibliotecas que ayudan en el análisis de datos y el aprendizaje automático.
- Cómo usar el procesamiento del lenguaje natural (PNL) para resumir un documento en una serie de ideas principales
- ¿Cuáles son las nuevas modificaciones en las redes neuronales recurrentes cuando se considera el aprendizaje profundo?
- ¿Cuál es el beneficio de usar métodos de detección de comunidad gráfica sobre los enfoques de agrupación de datos y aprendizaje automático?
- ¿Alguien siente que la programación de sistemas tradicionales es muy diferente del aprendizaje automático?
- ¿La regresión logística tiene en cuenta el desequilibrio de datos?
Sin embargo, el número y la variedad de algoritmos de ML disponibles en R no tienen paralelo en ningún otro idioma.
1. La ineficiencia de los bucles en R
2. Una breve introducción a “aplicar” en R
3. Límites de memoria en R
¡Espero que esto ayude!