Revisión del curso: Bootcamp de Python para ciencia de datos y aprendizaje automático

Antes de comenzar, sería útil saber qué son realmente la ciencia de datos y el aprendizaje automático. Entonces, en caso de que no lo sepas, aquí tienes algunas definiciones básicas...

Antes de comenzar, sería útil saber qué son realmente la ciencia de datos y el aprendizaje automático. Entonces, en caso de que no lo sepa, aquí hay algunas definiciones básicas:

La ciencia de datos es un campo interdisciplinario de métodos, procesos, algoritmos y sistemas científicos para extraer conocimientos o perspectivas de los datos en diversas formas, ya sea estructuradas o no estructuradas.

El aprendizaje automático es un campo de las ciencias de la computación que a menudo utiliza técnicas estadísticas para dar a las computadoras la capacidad de "aprender" con datos, sin ser programadas explícitamente.

Glassdoor ha clasificado al científico de datos como el trabajo número uno en Estados Unidos con un salario promedio de $120,000 y más 4.500 ofertas de trabajo (al momento de escribir este artículo). Con este tipo de números, definitivamente hay una buena cantidad de personas que quieren probar carreras en ciencia de datos, lo que crea una demanda de cursos en ciencia de datos para ayudarlos a mejorar sus habilidades.

Con la demanda viene la oferta, razón por la cual hay tantos cursos de ciencia de datos y aprendizaje automático disponibles en línea y en diferentes instituciones. Lo que presenta otro desafío, elegir el curso adecuado para ayudarlo a comenzar su viaje hacia la ciencia de datos y el aprendizaje automático.

Las últimas semanas he estado tomando uno de esos cursos, Bootcamp de Python para ciencia de datos y aprendizaje automático, que está disponible solo en Udemy. A lo largo de este artículo presento mi opinión sobre este curso en línea.

Instructor

Este curso es obra de José Portilla, un científico de datos experimentado con varios años en el campo y fundador de Pierian Data. José Portilla se encuentra entre los mejores instructores de Udemy con más de medio millón de estudiantes y 15 cursos. La mayoría de sus cursos se centran en Python, Deep Learning, Data Science y Machine Learning, cubriendo los últimos 2 temas tanto en Python como en R.

José Portilla es titular de una licenciatura y maestría en Ingeniería Mecánica, con varias publicaciones y patentes a su nombre. Para más información puedes consultar su perfil en Udemy.

Público objetivo

Esta es probablemente la primera pregunta que tiene sobre cualquier curso para saber si es adecuado para usted.

El aprendizaje automático y la ciencia de datos son temas avanzados en matemáticas y programación. Por lo tanto, hay una curva de aprendizaje bastante empinada para comprender estos conceptos, por lo que es aún más importante tener un buen recurso para aprender.

No puedes saltar de Principiante a Experto. Tienes que pasar por las diferentes etapas de aprendizaje Principiante, Intermedio, Avanzado y Experto.

Para este curso tienes que poseer algo de experiencia en programación. En cualquier lenguaje, es importante tener una comprensión básica de los conceptos básicos de programación, como estructuras de datos, declaraciones condicionales, etc. Sería preferible tener esta experiencia en python, que es el lenguaje de programación utilizado a lo largo de este curso. Sin embargo, el conocimiento de Python no es una necesidad, ya que el curso comienza con un Python Crash Course, que lo ayudará a comprender Python y seguir el curso.

Revisión de contenido {#revisión de contenido}

Este es uno de los cursos más inmersivos que he encontrado. Con casi 150 videos, registrando poco más de 21 horas de duración del video. Este curso lleva al alumno a través de una capacitación en profundidad de una serie de temas, que van desde un curso intensivo de Python, una descripción general de las bibliotecas de análisis de datos, una descripción general de las bibliotecas de visualización de datos y algoritmos de aprendizaje automático, entre muchos otros.

Este curso también utiliza Cuadernos Jupyter que ayuda a compartir el código y proporciona un campo de juego para todo el código escrito y ejecutado.

Jupyter Notebook es una aplicación web de código abierto que le permite crear y compartir documentos que contienen código en vivo, ecuaciones, visualizaciones y texto narrativo. Los usos incluyen: limpieza y transformación de datos, simulación numérica, modelado estadístico, visualización de datos, aprendizaje automático y mucho más.

En las siguientes secciones, veremos más de cerca el contenido real de este curso.

Curso intensivo de Python

Por el nombre del curso, probablemente pensó que el material usaría Python para explorar la ciencia de datos y el aprendizaje automático, por lo que no es una sorpresa.

La sección del Curso acelerado de Python lo lleva desde los conceptos básicos y a través de algunos conceptos para principiantes en el lenguaje de programación Python. El mini curso intensivo lo lleva a través de algunos conceptos de Python, incluidos tipos de datos, operadores y declaraciones condicionales, bucles, lambdas y muchos más.

La mayor parte del conocimiento de Python que necesitará está contenido en esta sección, por lo que no necesita preocuparse por ser un experto en Python antes de tomar este curso. Sin embargo, no se puede enfatizar demasiado la importancia de tomarse el tiempo para comprender mejor el idioma antes de pasar a otras etapas, ya que luego podrá concentrarse en los conceptos de aprendizaje automático y no en los pequeños detalles de el lenguaje de programación

Análisis de datos {#análisis de datos}

Una forma muy sencilla de describir Ciencia de los datos es que implica extraer conocimiento e ideas de un conjunto de datos. Para poder procesar los datos y extraer conocimientos e información de ellos, debe poder analizarlos.

Esto plantea la pregunta: ¿Qué es exactamente el análisis de datos?

El análisis de datos es un proceso de inspección, limpieza, transformación y modelado de datos con el objetivo de descubrir información útil, sugerir conclusiones y respaldar la toma de decisiones.

Al ver cuán crítico es el análisis de datos, este curso toma tiempo para guiarlo a través de varias bibliotecas de análisis de datos en Python, que mencionaré a continuación.

  • NumPy: una biblioteca de Python que agrega soporte para arreglos y matrices grandes y multidimensionales, junto con una gran colección de funciones matemáticas de alto nivel para operar en estos arreglos.
  • pandas: una biblioteca de Python para la manipulación y el análisis de datos. En particular, ofrece estructuras de datos y operaciones para manipular tablas numéricas y series de tiempo.

Visualización de datos {#visualización de datos}

La visualización de datos es fundamental porque ayuda a comunicar información de manera clara y eficiente a los usuarios mediante el uso de gráficos estadísticos, diagramas, gráficos de información y otras herramientas.

La visualización de datos se refiere a las técnicas utilizadas para comunicar datos o información codificándolos como objetos visuales.

Este curso lleva al alumno a través de varias bibliotecas de visualización de datos en Python, mostrándole cómo crear una variedad de visualizaciones para una amplia gama de conjuntos de datos utilizando las diferentes bibliotecas. Algunas de las bibliotecas de visualización que se enseñan en este curso incluyen:

  • matplotlib: una biblioteca de trazado 2D de Python que produce cifras de calidad de publicación en una variedad de formatos impresos y entornos interactivos en todas las plataformas.
  • nacido en el mar: Una biblioteca de visualización de Python basada en matplotlib. Proporciona una interfaz de alto nivel para dibujar atractivos gráficos estadísticos.
  • pandas: una biblioteca de datos que tiene capacidades de análisis y visualización.
  • trama: Una biblioteca de visualización interactiva.
  • Gemelos: Una biblioteca que ayuda a conectar Plotly con Pandas.
  • Trazado geográfico: creación de mapas de coropletas para la visualización de datos geográficos.

Aprendizaje automático {#aprendizaje automático}

Esta es la segunda parte del curso, que lleva al alumno a través de varios algoritmos de aprendizaje automático. El curso toma varios pasos para ayudar a los estudiantes a comprender el algoritmo al ofrecer instrucciones sobre la teoría, lecturas complementarias, una implementación del algoritmo en Python, ejercicios sobre el algoritmo y soluciones a los ejercicios.

El curso cubre los diferentes tipos de algoritmos de aprendizaje automático, a saber, el aprendizaje supervisado, el aprendizaje no supervisado y el aprendizaje por refuerzo de manera extensa.

Algunos de los algoritmos de aprendizaje automático cubierto en este curso incluyen:

  • Regresión Lineal: Se utiliza para estimar valores reales a partir de variables continuas.
  • Regresión Logística: Se utiliza para estimar valores discretos basados ​​en un conjunto dado de variables independientes.
  • K Vecino más cercano: kNN es un algoritmo simple que almacena todos los casos disponibles y clasifica los nuevos casos en función de una medida de similitud.
  • Procesamiento del Lenguaje Natural: La aplicación de técnicas computacionales al análisis y síntesis del lenguaje natural y del habla.
  • Redes neuronales y aprendizaje profundo: las redes neuronales son sistemas informáticos modelados en el cerebro y el sistema nervioso humanos. Aprendizaje profundo, un poderoso conjunto de técnicas para el aprendizaje en redes neuronales.
  • Máquinas de vectores de soporte: SVM es un algoritmo de aprendizaje automático supervisado que se puede usar para desafíos de clasificación o regresión.
  • Clustering de K-Means: El Clustering de K-Means tiene como objetivo dividir las observaciones en clusters en los que cada observación pertenece al cluster con la media más cercana, sirviendo como un prototipo del cluster.

Otros algoritmos cubiertos en el curso incluyen big data y Spark con Python, análisis de componentes principales y sistemas de recomendación.

El curso también lleva al alumno a través de la biblioteca Scikit-Aprender, que es una biblioteca de Python con la implementación de bastantes algoritmos de aprendizaje automático. Esto es básicamente la “navaja suiza” de Python para el aprendizaje automático.

Lo bueno

Sin duda, este es un curso increíble. Con una gran cantidad de contenido del curso, me tomó un tiempo revisarlo, el curso toma tiempo para entrar en detalles debido a la cantidad de conceptos cubiertos en este curso.

Curso intensivo de Python

Uno de los principales inconvenientes de la mayoría de los cursos es suponer que los estudiantes pueden subir de nivel en la pila requerida por su cuenta. Este curso no corre ese riesgo, lleva al estudiante a través de un curso acelerado de Python para que el usuario pueda seguir cómodamente el curso y no atascarse en detalles no relacionados con el material principal.

Entrando en detalles

Este curso no evita profundizar en los conceptos. El curso toma tiempo para profundizar en los conceptos importantes para garantizar que el estudiante obtenga una comprensión completa del tema. A veces, un concepto incluso se divide en varias secciones diferentes solo para garantizar que todo el concepto se entregue por completo.

Además, los alumnos reciben material de lectura adicional (opcional) para ampliar su conocimiento en los algoritmos cubiertos. Por ejemplo, el curso utiliza Introducción al Aprendizaje Estadístico de Gareth James como libro complementario.

Notas

Este curso tiene notas meticulosamente escritas, tanto en la pantalla como el instructor revisa el contenido para ayudar a seguir el contenido y videos antes o después para explicar algunos conceptos. Estas notas son fundamentales para ayudar a los alumnos a seguir, especialmente en los conceptos más complejos.

Código para compartir (Jupyter Notebook)

A lo largo de la duración de este curso, debido a su enfoque práctico, se escribe una gran cantidad de código. El instructor usa Jupyter Notebooks para compartir todo el código que se cubre en el curso. El curso tiene "Carpeta de recursos" que contiene cuadernos Jupyter Notebook bien organizados para cada sección.

Estos cuadernos ayudan a los alumnos a tener acceso al código para que puedan seguir las conferencias más fácilmente y también tener acceso al código para practicar más adelante.

Ejercicios y soluciones

La mejor manera de aprender y comprender algo es realmente hacerlo. Este curso comprende ese paso importante en el aprendizaje de nuevos conceptos y tiene un ejercicio personalizado para casi todas las secciones del curso. Continúa proporcionando soluciones para los ejercicios de cada sección.

Estos ejercicios están destinados a ayudar al estudiante a interiorizar los conceptos enseñados en la sección. Para los diferentes algoritmos de aprendizaje automático, se proporciona al estudiante un conjunto de datos del mundo real con preguntas que requieren que use los conceptos que ha aprendido para resolverlo. El estudiante también cuenta con los medios para obtener más conjuntos de datos para mejorar sus habilidades a través de recursos como Kaggle.

Comunidad

Una de las cosas más difíciles de conseguir al realizar un curso en línea es encontrarse con bloqueadores. Sin ninguna ayuda te quedas atascado en algún momento del curso, o peor aún, sin entender algunos conceptos.

José ha trabajado en la creación de una comunidad en torno a su curso para ayudar a los alumnos a ayudarse entre sí con los problemas que enfrentan en el camino. La mayoría de los problemas con los que se puede encontrar un estudiante en el curso ya se encuentran en las preguntas frecuentes del curso, lo que hace que sea aún más fácil para los estudiantes encontrar soluciones.

Lo no tan bueno

Demasiada información {#demasiada información}

Esta es solo mi opinión, pero cuando alguien llega al nivel de aprender temas complejos como la ciencia de datos y el aprendizaje automático, probablemente ya tenga una comprensión de los conceptos básicos de la programación y, como tal, un curso de este nivel no debería dedicar tanto tiempo a explicar. los conceptos básicos.

Sin embargo, debido al enfoque práctico que adopta este curso, termina explicando muchos conceptos básicos de programación que terminan tomando mucho tiempo, lo que hace que el curso sea aún más largo.

Conclusión

Bootcamp de Python para ciencia de datos y aprendizaje automático es realmente un curso increíble. Está muy bien detallado, con mucho soporte para garantizar que salga bien equipado para comenzar a trabajar en problemas de aprendizaje automático y ciencia de datos.

Pero como todos saben, la práctica hace al maestro, por lo que seguir solo este curso no lo convertirá en el científico de datos o el ingeniero de aprendizaje automático que la industria necesita. Tendrá que esforzarse para realizar los ejercicios del curso y más práctica en las diferentes bibliotecas y algoritmos para llegar a la cima.