Hay algunas cosas que tendrá que tener en cuenta antes de decidirse por uno de los dos. Piense en la pregunta como un enunciado del problema. Tus inclinaciones actuales y tu comprensión de lo que quieres en el futuro te ayudarán a encontrar una respuesta. Si tiene prisa, solo lea el texto en negrita y lea el resto de los puntos.
- Si actualmente no tiene idea de qué tipo de industria o carrera desea seguir, elija Python. Aunque tiene sus propias sutilezas y matices, es sintácticamente simple para empezar. En los últimos años, la pila científica y científica de datos de Python ha evolucionado rápidamente. Hay una gran cantidad de bibliotecas disponibles para mezclar datos, manipulación de datos, recopilación de datos, aprendizaje automático, etc. Muchas bibliotecas escritas en un lenguaje de nivel inferior emplean un contenedor / interfaz para permitir que Python las use. Todo esto permitirá que un principiante se centre más en los conceptos de ML en lugar de tener que lidiar con otras trivialidades.
Bibliotecas útiles para principiantes: scikit-learn, Pandas, Matplotlib. - Si está interesado en las estadísticas, la informática estadística o más inclinado a explorar el lado matemático del aprendizaje automático, elija R. R es utilizado ampliamente por los estadísticos, tanto en la academia como en la industria. Es posible que tenga que acostumbrarse a su sintaxis; algunas personas lo encuentran peculiar (¡aunque me gusta!) Fue construido por estadísticos para estadísticos; Entonces eso es todo. Tiene un gran ecosistema de paquetes de aprendizaje automático pero algo disperso. Sin embargo, caret es un paquete que intenta unificar varios algoritmos de ML y funcionalidades relacionadas en una sola interfaz. Similar a Python, muchas bibliotecas escritas en diferentes lenguajes proporcionan una envoltura / interfaz para R. Sin embargo, no hay tantas como Python.
Gran parte de las matemáticas involucradas en el aprendizaje automático se toman / derivan de las estadísticas (además del álgebra lineal, la optimización, etc.) Definitivamente ayuda a comprender los detalles subyacentes. Pero, de nuevo, no es absolutamente necesario; particularmente cuando estás más inclinado hacia el lado de la ingeniería de las cosas.
Paquetes útiles para principiantes: caret, dplyr, ggplot2. - Si está interesado en crear productos de aprendizaje automático o ingeniería / desarrollo de software, Python es para usted. Python definitivamente se integra mucho mejor que R en el esquema más amplio de cosas en un entorno de ingeniería. Aunque, para escribir código realmente eficiente, uno podría tener que emplear un lenguaje de nivel inferior (C / C ++ / Java), pero proporcionar una envoltura de Python para ese código es una buena opción para permitir una mejor integración con otros componentes.
- Si está interesado en análisis de datos o visualizaciones, R pulgadas más adelante. Para la creación rápida de prototipos y trabajar con conjuntos de datos para construir modelos de aprendizaje automático, encuentro R un poco mejor. Python ha atrapado algunos, pero R todavía parece ser mucho mejor en las visualizaciones de datos.
Comience con cualquiera de ellos y concéntrese en los conceptos de ML por algún tiempo. Eventualmente, aprender ambos te beneficiará. También le aconsejaré que intente lograr dominio en al menos un lenguaje de bajo nivel (C / C ++ o Java). ¡Puede ser útil alguna vez!
Experiencia personal
———————————
- ¿Cuál es la diferencia entre el aprendizaje por refuerzo y la optimización?
- Todos estos algoritmos de aprendizaje automático, ¿cuál es el punto? Parece que la elección del algoritmo de aprendizaje automático, el árbol de decisión, la red neuronal, svm, no es tan importante como la selección de características y el proceso de extracción de características que determina lo que entra, basura en basura, ese tipo de cosas.
- ¿Cuál es el mejor código comercial de reconocimiento facial?
- ¿Dónde puedo encontrar modelos de TensorFlow previamente entrenados como el zoológico modelo Caffe?
- ¿Qué habilidades necesito para la IA?
Había usado exclusivamente R cuando comencé con ML. Ya conocía Python y C / C ++ en ese momento (a través de WebDev, programación competitiva). Pero quería probar R, y estaba interesado en las estadísticas y los detalles matemáticos involucrados. Un beneficio que, al apegarse a uno solo, y a uno de alto nivel, fue el poder concentrarse en los conceptos relacionados con el aprendizaje automático. Entonces, cuando después de unos meses, comencé con la pila científica y ML de Python, las cosas fueron mucho más fáciles.