Revisión del curso: Aprendizaje automático de la A a la Z: Python práctico & R en ciencia de datos

Todos los días, estamos experimentando una innovación continua en numerosos campos, y el tremendo crecimiento en el campo de la informática ofrece varias tecnologías para...

Prefacio

Todos los días, estamos experimentando una innovación continua en numerosos campos, y el tremendo crecimiento en el campo de la informática ofrece varias tecnologías para que las consumamos. Estamos generando más de 2 exabytes de datos todos los días, lo que es demasiado difícil de manejar solo con el esfuerzo humano. Ingenieros de todo el mundo han ideado automatizaciones para encargarse de tales ejercicios. Y el siguiente paso en este proceso es el aprendizaje automático, que permite que los algoritmos informáticos tomen decisiones fundamentadas en determinados escenarios.

Con el zumbido de tecnologías como la inteligencia artificial, los vehículos autónomos y el reconocimiento de voz, todos hemos utilizado el aprendizaje automático como tecnología a sabiendas o no. Los extraordinarios avances en el campo nos hacen estar más dispuestos que nunca a explorar los conceptos de aprendizaje automático.

Mientras revisaba el material de capacitación existente para ML y sus aplicaciones, llegué a un excelente curso en línea en Udemy: [Aprendizaje automático de la A a la Z: Python práctico y R en ciencia de datos](https://stackabu.se /machine-learning-hands-on-python-data-science) por Kirill Eremenko y Hadelin de Ponteves.

Instructores

Conozcamos a los instructores antes de profundizar en los detalles del curso:

Kirill Eremenko

Experto en el campo de la ciencia de datos y el comercio de divisas, Kirill Eremenko tiene más de 5 años de experiencia en varias industrias, incluidas las finanzas, el comercio minorista y el transporte. También experto en big data, trabaja como consultor y realiza cursos en Udemy a través del Equipo de SuperDataScience.

Habiendo obtenido títulos en Física y Matemáticas, Kirill combina su experiencia profesional con su formación académica y ofrece excelentes cursos para los entusiastas del aprendizaje. Durante la última década, también disfruta de las operaciones de cambio, ya que le da una sensación de independencia personal y financiera. Esto, combinado con el conocimiento de la ciencia de datos, le da una ventaja en el dominio del comercio algorítmico. Como analista, es bueno analizando patrones en procesos y comportamiento humano. Utiliza varias tecnologías como secuencias de comandos, Java y MQL4 para lo mismo.

Hadelin de Ponteves

Apasionado por la IA, Hadelín de Ponteves adora realizar cursos que cubren temas como el aprendizaje automático, el aprendizaje profundo y la inteligencia artificial. Tiene una maestría en ciencia de datos y mucha experiencia en el campo del aprendizaje automático. Trabajó con el equipo de IA de Google para implementar modelos ML para análisis de negocios.

Actualmente se dedica a tiempo completo a realizar varios cursos para estudiantes y se dedica a compartir el conocimiento que obtuvo a través de su experiencia. Posee una combinación única de habilidades analíticas y creatividad que es evidente en sus cursos. Además, como dice el podcast del curso, duerme solo 3 horas al día, ¡y lo ha hecho durante los últimos 3 años! ¿Has conocido a alguien más que haga eso? ¡Habla de pasión por su trabajo!

Visión general

El curso abarca la asombrosa cantidad de 285 conferencias y la duración es de alrededor de 41 horas. El público objetivo incluye estudiantes de todos los niveles, desde principiante hasta avanzado. En el momento de escribir este artículo, más de 290 000 estudiantes han realizado el curso en [Udemy] (https://stackabu.se/udemy), lo que proporciona credibilidad a su contenido.

Como el curso está diseñado por dos científicos de datos profesionales, es extenso en términos de contenido. Al mismo tiempo, está organizado de manera que los estudiantes de todos los niveles puedan comprender los conceptos fácilmente.

Para comprender e implementar los modelos ML, los instructores utilizan Python y R, dos lenguajes de programación populares que se usan comúnmente en el campo de la ciencia de datos. Los alumnos tienen la opción de elegir el idioma de su elección y omitir el otro, o pueden probar ambos. Como resultado, los instructores no solo van de la mano con los estudiantes sobre los conceptos de ML, sino también con estos lenguajes de programación. ¡Mucho aprendizaje involucrado!

Esquema

Los instructores intentan que el curso sea una experiencia emocionante para los alumnos, el curso comienza con una sesión introductoria que explica las aplicaciones del aprendizaje automático y luego continúa con la instalación de los entornos de tiempo de ejecución de Python y R. Los IDE elegidos para el curso son Anaconda para Python y R Studio para programación en R. Las últimas versiones se utilizan para todas las instalaciones.

Una vez que estamos listos con los entornos, nos sumergimos en los contenidos reales del curso, que se dividen en las siguientes partes, que a su vez se dividen en varias secciones posteriormente:

Parte 1: Preprocesamiento de datos

Como sabemos que los algoritmos de aprendizaje automático manejan una gran cantidad de datos, el primer paso es preprocesar los datos para convertirlos al formato deseado. Esto facilita la aplicación de pasos posteriores sobre el mismo. La sección analiza la importación de bibliotecas y conjuntos de datos requeridos, cómo lidiar con las entradas de datos faltantes, clasificar los datos en conjuntos de prueba y entrenamiento, etc.

Los instructores también repasan algunos conceptos básicos de Python, suponiendo que los alumnos no tengan conocimientos previos sobre el idioma.

El curso ha organizado las bibliotecas requeridas para ser importadas para Python y R por separado. Los conjuntos de datos, sin embargo, son comunes para ambos idiomas.

Parte 2 – Regresión

Una vez que los conjuntos de datos están listos, el siguiente paso es aplicar varios modelos de regresión en el mismo para futuras predicciones. Los modelos disponibles incluyen regresiones Lineal Simple, Lineal Múltiple, Polinomial, Vector Soporte, así como Árboles de decisión y [Bosque aleatorio](/algoritmo -de-bosque-aleatorio-con-python-y-scikit-learn/) clasificaciones.

Al final de la sección, el curso compara el rendimiento de estos modelos entre sí, indicando cuál se adapta mejor según la necesidad.

Parte 3 – Clasificación

Así como usamos modelos de regresión para predecir números continuos, las clasificaciones se usan para predecir una categoría. Las clasificaciones se utilizan en diversas aplicaciones que van desde la asistencia sanitaria hasta el diseño de estrategias de marketing. Los modelos utilizados para el mismo son Logistic Regression, K-Nearest Neighbors, Máquinas de vectores de soporte, [Núcleo SVM](/ implementando-svm-y-kernel-svm-con-pythons-scikit-learn/), bayesiana ingenua, Decision Tree y Random Clasificaciones Forestales.

Para comprender el caso de uso de cada modelo, la parte resume los pros y los contras de cada esquema de clasificación al final.

Parte 4 – Agrupación

Como sugiere el nombre, la agrupación en clústeres realiza la agrupación en el conjunto de datos en función de varios parámetros.

La sección analiza los modelos de agrupación, a saber, K-medias y Agrupación jerárquica . La diferencia básica entre estos dos radica en el número de grupos que está predefinido en K-means, mientras que el modelo jerárquico nos da como resultado el número óptimo de grupos. Sin embargo, este último no es adecuado para grandes conjuntos de datos.

Parte 5: aprendizaje de reglas de asociación

Aprendizaje de reglas de asociación deals with establishing relations between entities, common examples that we regularly encounter are the social media or e-commerce recommendation algorithms. The models used for this purpose are Apriori and Eclat.

Parte 6 - Aprendizaje por refuerzo

También conocido como aprendizaje en línea, el aprendizaje por refuerzo observa los datos hasta un determinado intervalo de tiempo y decide el curso de acción para el siguiente.

Particularmente utilizado en IA para máquinas de entrenamiento, RL es un método basado en prueba y error que recompensa a la IA por los resultados deseados, castiga de lo contrario. Esto se logra utilizando los modelos Upper Confidence Bound y Thompson Sampling.

Parte 7: Procesamiento del lenguaje natural

Podría decirse que la aplicación de ML más utilizada es PNL, siendo ejemplos comunes el reconocimiento de voz, la conversión de texto a voz y la traducción. Si bien parece lógico utilizar PNL para estos fines, su funcionalidad de búsqueda de palabras clave tiene muchas más implicaciones, desde la atención médica hasta las industrias financieras.

Bajo el capó, los algoritmos de NLP no son más que modelos de clasificación como Regresión logística, Naive Bayes, CART y Entropía máxima (relacionados con árboles de decisión) y modelos ocultos de Markov.

Un modelo común para NLP es el modelo Bag-of-words que preprocesa el texto para que sea consumido por los modelos de clasificación. Al final de la sección, se deja que los alumnos evalúen el desempeño de cada uno de estos modelos, como ejercicio.

Parte 8: aprendizaje profundo

Una próxima corriente de ML, el aprendizaje profundo se utiliza para lograr varias tareas complejas. Los mecanismos de aprendizaje profundo dirigidos a aplicaciones específicas incluyen: redes neuronales artificiales para regresión y clasificación, redes neuronales convolucionales para visión artificial, redes neuronales recurrentes para análisis de series temporales, etc.

La sección cubre redes neuronales artificiales y convolucionales.

Parte 9 - Reducción de dimensionalidad

Usando técnicas de reducción de dimensionalidad, la cantidad de variables independientes se puede reducir para una mejor visualización de los modelos ML. Cuanto menor sea el número de variables, más fácil será trazarlas en un gráfico para compararlas.

Hay 2 tipos de visualizaciones de reducción de dimensionalidad: selección de características y extracción de características. La selección de funciones incluye técnicas como la eliminación hacia atrás, la selección hacia adelante, la comparación de puntajes y más. Como estos ya están cubiertos en la sección de Regresión, esta sección en particular se enfoca en metodologías de Extracción de Características tales como Análisis de componentes principales, Lunar Discriminant Analysis, Kernel PCA y AD cuadrático.

Parte 10: selección de modelos y potenciación

Having learned all these models in the previous sections, it's quite possible to be confused about the selection of a specific model for a situation. This section discusses the techniques for model selection such as k-fold Validación cruzada, Parameter Tuning and Búsqueda de cuadrícula.

Además, el curso concluye con una sección adicional que se enfoca en uno de los modelos de aprendizaje automático poderosos y populares, [XGBoost] (https://xgboost.readthedocs.io/en/latest/).

Una de las mejores cosas del curso es que no solo se enfoca en los aspectos teóricos del aprendizaje automático, sino que involucra a los alumnos en ejercicios del mundo real. Los ejercicios les ayudan a comprender mejor los conceptos y los preparan para resolver problemas a gran escala.

El curso también proporciona a los alumnos conjuntos de datos adicionales y plantillas de código para jugar: ¡construya sus propios modelos ML!

Lo que funcionó bien {#lo que funcionó bien}

Aquí hay algunos aspectos positivos sobre el curso que se destacaron:

  • Conozca a los instructores: lo que es diferente del curso es que, ocasionalmente, Kirill y Hadelin entrevistan a los estudiantes a través de un podcast. Revisan sus antecedentes y una descripción general del curso. Quien quiera obtener más información sobre las ofertas del curso, sugiero que el podcast sería un buen punto de partida. Además, es de carácter bastante informal, ya que también hablan de los proyectos que están manejando actualmente y de otros cursos realizados por ellos, como [Aprendizaje profundo de la A a la Z: redes neuronales artificiales prácticas](http: //stackabu.se/deep-learning-hands-on-ann).

  • Ejercicios interactivos: otro aspecto interesante del curso es que los ejercicios no son solo para que los alumnos los terminen y los olviden. Se espera que publiquen su solución a los instructores a través de la sección de preguntas y respuestas o PM, básicamente iniciando un canal de conversación donde la solución no solo será evaluada sino también discutida.

  • Sección completa de preguntas y respuestas: como muchas personas ya han tomado el curso, las preguntas y respuestas abordan la mayoría de los problemas más comunes. ¡Yo mismo pude resolver un problema que tuve durante la instalación siguiendo los pasos mencionados en Preguntas y respuestas!

Lo que se puede mejorar {#lo que se puede mejorar}

En cuanto a todo, el curso tiene algunas áreas de mejora:

  • Dado que los conceptos de aprendizaje automático tienden a ser en su mayoría de naturaleza técnica, algunos de los alumnos pueden encontrar la curva de aprendizaje un poco empinada, especialmente en las primeras secciones. Aunque se debe culpar más a ML como un campo que como un curso, los requisitos previos solo dicen matemáticas de nivel secundario, por lo tanto, los principiantes pueden sentirse un poco abrumados con la amplitud y profundidad de los conceptos. El curso puede esperar que los alumnos actualicen algunos de los conceptos requeridos por adelantado o las secciones iniciales se pueden dividir en subsecciones para que sea más fácil para los alumnos comprender los conceptos.

Resumen

En conclusión, el curso arroja luz sobre la mayoría de los conceptos de aprendizaje automático y presenta a los alumnos la infraestructura necesaria para explorar más el campo por sí mismos. Las cosas buenas de Aprendizaje automático de la A a la Z: Python práctico y R en ciencia de datos superan las mejoras menores y seguramente sugeriría el curso para estudiantes interesados ​​en el campo del aprendizaje automático.