Respuesta corta : R y las bibliotecas se centran (principalmente) en comprender datos e inferencias. Python y las bibliotecas se centran (principalmente) en el procesamiento de datos escalables con canalizaciones de extremo a extremo. Los estadísticos y la comunidad de investigación parecen preferir R para el análisis estadístico.
Respuesta larga
Históricamente, R es popular entre los estadísticos y bioinformáticos. Muchas bibliotecas se centran en soluciones exactas en comparación con las iterativas basadas en SGD o similares. Por ejemplo, la función `lm` de R se calcula mediante descomposición QR. La comunidad de investigación prefiere R, a pesar de sus idiosincrasias, principalmente debido a la simplicidad y las bibliotecas arcanas de R (implementadas principalmente sin escalabilidad en mente, que probablemente nunca se implementarán en Python u otros lenguajes). Por ejemplo, la interfaz de fórmula hace que los estadísticos / matemáticos se sientan como en casa, facilita la creación rápida de prototipos y la comprensión de los datos. Para datos grandes, la interfaz de fórmula es ineficiente en comparación con proporcionar [matemáticas] X [/ matemáticas] y [matemáticas] Y [/ matemáticas] (que están preprocesadas).
- ¿Hay abandonos universitarios que trabajan como científicos de datos o especialistas en aprendizaje automático?
- ¿Por qué la función sigmoidea rara vez se usa en capas ocultas recientemente?
- ¿Cómo agrega Quora el aprendizaje automático a su aplicación web?
- ¿Qué opinas sobre la inteligencia artificial? ¿Vale la pena desarrollarla?
- ¿Dónde puedo encontrar el conjunto de datos para un sistema de recomendación?
Python comenzó como un competidor de perl , inicialmente se usó para trabajos no estadísticos. Las bibliotecas estadísticas / ML se construyeron recientemente como (en comparación con R) con los cimientos de numpy / scipy / pandas y scikits . El éxito de python en comparación con R en el espacio de aprendizaje automático se debe principalmente a implementaciones unificadas (como scikit-learn ) y mejores prácticas de programación. Para hacer lo mismo, uno ha recorrido un conjunto de paquetes en R, aunque caret y mlr han hecho un trabajo encomiable. La mayoría de las bibliotecas de aprendizaje profundo tienen interfaces de python, lo que reduce la barrera de entrada para que los ingenieros de software la usen en el estilo API.
Editar: `lm` usa descomposición QR y no [matemática] (X’X) ^ – 1 [/ matemática]) directamente. Gracias a Adrian por la corrección.