Para empezar, me gustaría enfatizar que el dominio del aprendizaje automático no se trata de aprender lenguajes de programación o IDE específicos. Es más importante comprender los conceptos de aprendizaje automático y tener las habilidades básicas de programación para implementar soluciones viables a los problemas.
Dicho esto, hay algunas herramientas excelentes que muchos científicos de datos están utilizando que tienen un gran apoyo de la comunidad.
Los dos favoritos de la comunidad son el lenguaje de programación Python con el paquete scikit-learn en combinación con el ecosistema SciPy y el lenguaje de programación R con sus paquetes CRAN .
- ¿Los diseñadores de sistemas sociales necesitan antecedentes de aprendizaje automático?
- ¿Cuáles son los principales problemas que se pueden resolver digitalmente en el futuro?
- ¿Cuál es la mejor aplicación para compartir archivos grandes en Android?
- ¿Qué significa la hipótesis específica y general en el concepto de espacio de versión del aprendizaje automático?
- ¿Cuáles son algunos informes disponibles públicamente que detallan el crecimiento global de la demanda / consumo de recursos informáticos, particularmente desde la llegada de la computación en la nube?
Ambos lenguajes se pueden ejecutar en Jupyter Notebook , que es un entorno de programación interactivo basado en la web, o un REPL (Read-Eval-Print Loop). Con R, puede obtener un entorno REPL sólido de fábrica con RStudio . No puedo enfatizar demasiado la importancia de tener un entorno interactivo como este al aprender ML. Debe poder ver los resultados reales de lo que está haciendo mientras lo hace. De lo contrario, todo será demasiado abstracto.
Si bien no tiene que usar ninguno de estos idiomas, le aconsejaría comenzar con uno de ellos, ya que probablemente terminará usando ambos en algún momento. Si ya conoce la programación orientada a objetos, Python probablemente será más fácil para comenzar.
En la primera fase de aprendizaje, sugeriría que se mantenga alejado de scikit-learn y CRAN, ya que estas herramientas sostienen su mano un poco demasiado. Creo que es importante implementar los algoritmos comunes de aprendizaje automático desde cero, incluso si solo lo haces una vez en la vida.
Un curso en línea sería una buena manera de comenzar. El curso de aprendizaje automático de Stanford sobre Coursera con Andrew Ng es una excelente introducción a lo básico. Es bastante viejo ahora, pero probablemente sigue siendo el mejor curso que existe.
Una vez que haya dominado los conceptos básicos, haya comprendido los conceptos más importantes y haya implementado soluciones de trabajo para algunos problemas con los juguetes, habrá terminado con la parte fácil. Luego llegas a la parte (mucho) más difícil, que es usar tu conocimiento para resolver problemas del mundo real. Ahí es cuando se vuelve realmente emocionante pero también muy complicado. Ah, y ¿mencioné que probablemente terminarás pasando más tiempo en SQL que en cualquier otro lenguaje de programación? ¡De todos modos, buena suerte!