El Machine Learning y la Ciencia de Datos están muy de moda actualmente. Cada vez más empresas los usan, y no hay suficientes profesionales, lo que lleva a que tener competencias en el campo implique tener trabajo casi seguro. He preparado una guía sobre cómo empezar en la Ciencia de Datos, incluidas las distintas formas de aprender y las habilidades que necesitarás.
¿Cómo Aprender Machine Learning?
Existen 3 vías principales de iniciarse en el campo del aprendizaje automático, la inteligencia artificial y la ciencia de datos en general:
- Ir a la universidad.
- Hacer cursos.
- Formarse de forma autónoma.
Aprender Ciencia de Datos en la Universidad
La universidad es, por así decirlo, la forma fácil de introducirse en el campo. La gran ventaja es que no debes pensar qué estudiar, porque tienen planes de estudios fijos que normalmente incluyen todas las bases necesarias. Además, sigues un camino igual al de otras profesiones cualificadas, como informática o ingeniería.
La principal desventaja es, justamente, la otra cara de su ventaja: no puedes elegir qué estudiar. Estarás limitado a las asignaturas que la universidad haya elegido ofertar y que, a menudo, incluyen bastante relleno. En el caso de los grados, esto pasa porque deben llenar los 4 años de formación. Sin embargo, ofrecer conocimientos muy avanzados haría que nadie cursase sus másteres, que es de donde más dinero obtienen tanto las universidades públicas como privadas, por lo que muchas veces se quedan en la superficie de los temas. Y esto último no es una opinión, es un hecho, pues un máster cuesta mucho más dinero por curso.
Por otro lado, algunas asignaturas de un grado no tiene sentido darlas con tanta profundidad. Por ejemplo, ¿para qué quiero saber exactamente los algoritmos de seguridad informática? Nunca voy a saber tanto como un especialista, que es el que debería encargarse de la seguridad de los datos, por lo que podría estar aprendiendo a hacer otras cosas más relevantes.
Sin embargo, la gran mayoría de gente prefiere esta opción, porque sigues el mismo camino que los demás y te asegura tener un título (y en algunos lugares no puedes trabajar si no tienes uno). Además, cuentas con un gran abanico de profesores, cada uno experto en su materia, que te pueden ayudar mucho más de lo que cualquier profesor de un curso online lo haría.
Ventajas y Desventajas de Aprender Machine Learning en la Universidad
[su_box title=»Pros» style=»default» box_color=»#47B357″ title_color=»#FFFFFF» radius=»3″ class=»» id=»»]
[/su_box]
[su_box title=»Contras» style=»default» box_color=»#B85353″ title_color=»#FFFFFF» radius=»3″ class=»» id=»»]
[/su_box]
Aprender Machine Learning con Cursos
Como en casi cualquier disciplina, existen muchos cursos por Internet sobre Ciencia de Datos que se pueden usar para aprender. Si bien, muchos son impartidos por particulares y tienen una fiabilidad dudosa (si imparten teoría o dan consejos sobre cómo hacer las cosas pueden estar equivocados), también existen cursos de organizaciones reconocidas, como el MIT, IBM o Google.
Además, muchas plataformas ofrecen certificaciones, por lo que puedes usarlas como complemento o reemplazo de un título oficial, aunque es difícil que esté a la misma altura que un grado o máster para un reclutador. Para encontrar opciones fiables rápidamente, te recomendamos leer nuestro artículo con los mejores cursos de machine learning.
En cuanto a los profesores, suelen ser más claros que los de la universidad, porque pueden regrabar sus clases o editarlas, mientras que un profesor universitario suele impartir la clase en directo. Esto también supone que muchas veces no puedes preguntar, lo que puede ser un problema tanto para entender las cosas más básicas (y por tanto, esenciales), como para las cosas más avanzadas.
Un gran pro de los cursos es que, muchas veces, sabes lo que vas a aprender por adelantado. Esto te permite hacer cursos de exactamente lo que quieres y lo que necesitas, y no pararte a repetir cosas que ya sabes (como sí ocurre en el sistema educativo).
El gran problema es que suelen saltarse las bases teóricas de las técnicas o procedimientos, que pueden parecer aburridas, pero son muy importantes para no llegar a conclusiones erróneas, por lo que hay que tener mucho cuidado con esto. Es especialmente remarcable el caso de la estadística, que suele quedarse fuera de casi cualquier curso de machine learning o análisis de datos, pero es esencial para entender los problemas y no usar técnicas en situaciones en las que no funcionan bien.
Ventajas y Desventajas de Aprender Ciencia de Datos con Cursos
[su_box title=»Pros» style=»default» box_color=»#47B357″ title_color=»#FFFFFF» radius=»3″ class=»» id=»»]
[/su_box]
[su_box title=»Contras» style=»default» box_color=»#B85353″ title_color=»#FFFFFF» radius=»3″ class=»» id=»»]
[/su_box]
Aprender Ciencia de Datos por Cuenta Propia
Si ya sabes programar o solo quieres hacer algunas tareas muy concretas, puede que prefieras aprender por tu cuenta, buscando exactamente lo que necesites y ya. Esto te ahorrará tiempo, pues solo aprenderás lo que necesites, además de ir más rápido de lo que muchas clases o cursos van, en las que se explican ejemplos que pueden resultar obvios para ti.
Consiste en buscar la documentación de los algoritmos o aplicaciones que quieras diseñar. Por ejemplo, puedes querer hacer una red neuronal que clasifique imágenes. En ese caso, podrías ir a la web de Keras y aprender de sus creadores cómo hacerlo. Normalmente, todas las librerías y programas tienen artículos explicando todas las opciones posibles. En el peor de los casos, tendrás que buscar una duda en Internet (por ejemplo, «¿cómo usar modelos preentrenados con Keras?»), pero eso es una práctica habitual entre programadores porque es imposible recordar todos los detalles de todas las tecnologías, por lo que probablemente lo harías igual.
El gran problema de ser autodidacta es justamente eso, que dependes de ti mismo o ti misma. Por ello, si necesitas ayuda tendrás que visitar todos los foros de Internet, y a veces (aunque muy pocas) eso tampoco será suficiente.
Por otro lado, la situación es peor que con los cursos online, pues no sabrás exactamente qué aprender, ni tampoco tendrás un apartado de un curso en el que te expliquen, por ejemplo, qué es una distribución de probabilidad. Tendrías que ir y buscarlo tú, y puede que no se te ocurra y trabajes sin saber que tienes lagunas importantes que te pueden hacer cometer errores. En este sentido, los libros sobre ciencia de datos (aunque puedan parecer muy caros), serán tus mejores amigos, porque te explicarán conceptos o te nombrarán otros que podrás investigar.
Ventajas y Desventajas de Aprender Machine Learning de forma Autodidacta
[su_box title=»Pros» style=»default» box_color=»#47B357″ title_color=»#FFFFFF» radius=»3″ class=»» id=»»]
[/su_box]
[su_box title=»Contras» style=»default» box_color=»#B85353″ title_color=»#FFFFFF» radius=»3″ class=»» id=»»]
[/su_box]
Personalmente, creo que la mejor opción es combinar una carrera con cursos online y algo de aprendizaje autodidacta. Si ya tienes algo de bagaje en la programación, la estadística o el análisis de datos (con una de las 3 vale) puedes reconducir tu carrera con cursos o por tu cuenta.
¿Qué Habilidades son Necesarias para Saber Machine Learning?
En cualquier caso, queremos que sepas las cosas que deberías aprender durante tu aprendizaje. Así podrás enfocarte en ellas si eres autodidacta, o complementar tu carrera, máster o cursos en caso de que escojas estas opciones. Las 2 habilidades más importantes son:
- Programación: preferiblemente en Python, R, Java, C++, Matlab o Julia. Esta es la habilidad clave. El Machine Learning se basa en crear programas que ejecuten algoritmos para llevar a cabo una tarea, y la forma de hacerlo es programando. Nosotros recomendamos aprender Python por ser uno de los más fáciles y el que mayor comunidad tiene actualmente en el campo. Después iría R y luego, Java.
- Estadística y probabilidad: es importante tener claros al menos conceptos básicos como media, mediana, desviación estándar y otros. Además, es muy recomendable entender qué es una distribución, cómo funcionan las probabilidades, los modelos estadísticos básicos (regresión lineal, regresión logística, etc.) y los distintos tipos de error, que son la forma de determinar si un algoritmo cumple bien su tarea o no.
- Algoritmos y técnicas más utilizadas: por ejemplo, cómo funciona una red neuronal, cómo programar KMeans en Python o qué es un Random Forest. Esto te servirá para poder saber usarlos y crear tus programas para resolver problemas muy distintos.
Complementa tu Formación y Mejora tu Salario
Si bien el sector de la Ciencia de Datos y el Machine Learning tiene muy poco paro, siempre es preferible tener un sueldo mayor al de un programador básico. Por ello, te recomendamos que sigas las indicaciones de este vídeo de una de las plataformas educativas más grandes en español que también tiene cursos de ciencia de datos, Platzi:
El resumen es que, además de aprender a programar y los distintos algoritmos, deberías aprender:
- Git: es el mecanismo que utilizan los desarrolladores de software para crear programas en equipo. No te engañes, los Científicos de Datos también crean software, así que se usa mucho. Es una habilidad muy recomendable y que muchas empresas exigen. Puedes aprender tanto GitHub como GitLab.
- Linux: aunque te encanten Windows o Mac, Linux es la base de gran parte de los servidores del mundo, por lo que necesitarás comprender su funcionamiento, especialmente cómo manejar la consola o shell de Linux.
- Bases de datos: para usar datos, necesitarás obtenerlos de una BBDD, por lo que es importante que sepas cómo consultarlas, tanto desde el lenguaje de programación que uses como con lenguajes propios de bases de datos, como SQL o MongoDB.
Nosotros queremos añadir, al menos, una habilidad más que muchas veces queda olvidada:
- Computación en la nube: si trabajas con Big Data de verdad (y no un par de GB de datos) necesitarás usar servidores (ordenadores muy potentes) para entrenar tus algoritmos o manipular datos. Para poder hacerlo de forma eficiente, necesitarás dominar la nube. Esto suele traducirse en saber programar en Spark y manejar Hadoop, pero también estar familiarizado con nubes como las de Amazon, Microsoft o Google.
Preguntas Frecuentes sobre el Aprendizaje de Machine Learning
Para aprender Machine Learning debes aprender, en este orden:
- Programación: preferiblemente en Python, R o Java.
- Estadística: entender sus conceptos básicos, las distribuciones, los modelos como la regresión lineal y regresión logística y los distintos errores (MAE, RMSE…).
- Algoritmos más comunes en el ML: Redes Neuronales, Random Forests, SVM…
- Bases de datos, Linux, computación en la nube y Git.
Para aprender Ciencia de Datos, deberás dominar las herramientas más comunes (lenguajes de programación, Excel y bases de datos). También tendrás que saber visualizarlos y analizarlos con conocimientos de estadística. Revisa este artículo para conocer el orden adecuado y las posibilidades para aprender.
Puedes aprender Machine Learning en la universidad (con un grado o máster), con cursos online (Google, IBM y el otros tienen cursos que empiezan de cero) o por tu cuenta (consultando foros y las webs de los creadores de las herramientas). En cualquier caso, te recomendamos que no te quedes solo con una. ¡Combinarlas es la mejor opción!
Espero que este artículo te haya resultado útil. Si es así, te animo a compartirlo. Además, tengo más artículos para aprender muchas de las habilidades que explico aquí, así que te animo a que los leas 😉
Adrián Chust
Experto en Inteligencia Artificial y Escritor