Escrito por Marcos Silva en Planeta chatbot.

Muchas personas me han preguntado en los últimos meses cómo pueden convertirse en data scientist, y después de conocer las preguntas principales de la mayoría de las personas y mejorar mis respuestas con el tiempo, he decidido crear esta guía (e invertir mucho tiempo haciéndola) para que todo aquel que lo desee pueda aprender sobre ello.

Tabla de contenidos

Índice

1. ¿Qué es un data scientist?
2. ¿Cuál es el fondo requerido?
3. ¿Qué estudiar?
4. Paso a paso de las asignaturas.
5. Recomendación de cursos, libros y películas.
6. Próximos pasos

1. ¿Qué es un científico de datos?

Encontrar a un data scientist es algo raro ya que incluso los profesionales más experimentados aún tienen dificultades para definir el alcance del área. Una posible delimitación es que el data scientist es la persona responsable de producir modelos predictivos y / o explicativos utilizando el aprendizaje automático y las estadísticas. Puedes encontrar una descripción más completa (o detallada) en el siguiente enlace:

  • https://towardsdatascience.com/data-science-and-the-data-scientist-db200aac4ea0
  • https://towardsdatascience.com/the-10bias-and-causality-techniques-of-that-everyone-needs-to-master-6d64dc3a8d68

Ser data scientist es estar siempre estudiando, actualizando y aprendiendo. Aprender a aplicar Machine Learning no te convertirá en uno, el cambio no es solo una colección de técnicas sino un cambio de mentalidad para enfrentar problemas, es pensar escépticamente, sin prejuicios y no será algo rápido.
Esta guía introductoria es una forma de ahorrar tiempo buscando el mejor material u orden de aprendizaje, sin reemplazar los cientos de horas requeridas para la capacitación.

2. ¿Cuál es el fondo necesario?

Las primeras oleadas de data scientist fueron principalmente del personal de desarrollo, informáticos e ingenieros. Ellos fueron los que crearon los modelos de aprendizaje automático, optimizaron el proceso y minimizaron la función de costos. Analizarían datos no estructurados, crearían programas específicos para cada problema y, debido a las limitaciones del procesamiento computacional, realizarían mapas / reducciones manuales. Afortunadamente, se acabó el tiempo, la mayoría de estas operaciones se han visto facilitadas en gran medida por programas y paquetes de alto rendimiento, y actualmente la mayoría de los data scientist dedican más tiempo al modelado y menos a la ingeniería.

La buena noticia es que hoy esta curva de aprendizaje ya no es tan empinada. Las personas de diferentes orígenes tienen la oportunidad de unirse a este campo y una de las razones principales es el uso intensivo de Python, que es un lenguaje de alto nivel que actúa como API para lenguajes de bajo nivel mucho más performativos. En otras palabras, no tienes que desperdiciar energía preocupándote por una sintaxis complicada, porque escribir en Python es como escribir en inglés. Solo necesitas estudiar unas pocas semanas para dominar los conceptos básicos. Además de eso, la mayor parte de la pila de tiempo del data scientist está siendo automatizada o especializada en otras áreas, como el Ingeniero de Aprendizaje Automático y el Ingeniero de Datos.

Trabajar con Big Data hoy se ha vuelto tan simple como escribir SQL en entornos como DataBricks .

Hacer algoritmos en producción altamente escalables y disponibles se está volviendo más simple con herramientas como SageMaker y sus competidores.

Incluso la creación de ingeniería de características complejas se está automatizando con AutoML .

En pocas palabras, hoy en día un fondo de programación sigue siendo importante, pero la importancia está disminuyendo, y lo que espero para el futuro es que la programación dejará de ser el núcleo y se convertirá en una actividad exclusiva para los profesionales de TI. Por lo tanto, me gustaría darte un consejo: centra tu tiempo y energía en el análisis, el modelado y la ciencia.

3. Entonces, ¿qué estudiar?

Programación: Python y SQL

Definitivamente necesitas aprender a programar, y muchos idiomas satisfacen esa demanda, ya sea el más dinámico como Scala, o el más académico y estadístico como R, o el de uso general como Python, esta última es la decisión más obvia para cualquiera que empiece. El motivo es simple: Python tiene la comunidad más grande para el análisis de datos, será mucho más fácil encontrar ejemplos de análisis en Kaggle (sitio web de competencia de aprendizaje automático que se convierte en un portafolio para el data scientist), encuentra ejemplos de código en el Stackoverflow (sitio de preguntas y respuestas con la mayoría de los principiantes y a menudo avanzadas) y ofertas de trabajo, ya que es el idioma más popular en el mercado.

Aprendizaje automático: denominador en común

No hay forma de correr, inevitablemente tienes que pasar por los conceptos básicos de Machine Learning. Cuando comencé a estudiar Machine Learning en 2014, la mayoría de los cursos se centraron en derivar los modelos, como se esperaba de un título formal.

Esto brinda una capacidad tremenda para comprender cómo funcionan los diferentes modelos en su interior e incluso pensar en el mejor modelo para cada problema. Mi recomendación es que no hagas esto. El beneficio de costo de estudiar varias clases de modelos diferentes es muy pequeño, necesitas saber (por hora) que un modelo es un BlackBox que puede convertir entradas (nuestras variables como la altura de la persona, dónde vive y cuánto gana) en una salida (como su probabilidad de ser un estafador). Hay muchas técnicas que son comunes a casi todos los modelos y mi sugerencia es que aprendas estas técnicas primero y después te concentres en comprender la diferencia matemática y los detalles de implementación.

Estadísticas

He dejado lo mejor, lo más importante y (desafortunadamente) lo más difícil para el final. Es esta habilidad la que diferenciará a un data scientist de un Ingeniero de Aprendizaje Automático. No hay muchos atajos aquí. Debes comenzar con estadísticas descriptivas, saber cómo hacer un buen análisis exploratorio de datos ( EDA ), o al menos los conceptos básicos de probabilidad e inferencia, comprender bien los conceptos de sesgo de selección, Paradoja de Simpson , asociación de variables (en particular, métodos de descomposición de la varianza ), los conceptos básicos de la inferencia estadística (y las famosas pruebas A / B) y una buena idea para el diseño de experimentos.

4. ¿Cuál es la pista ideal?

Esta es una pregunta difícil y puede tener diferentes respuestas según los antecedentes de cada persona. Pero en caso de que seas un principiante, sugeriría que, a medida que avances, debes seguir la subárea que más te guste.

Prerrequisitos:

  • Matemáticas : Álgebra -> Cálculo.
  • Estadísticas : Estadística descriptiva -> Probabilidad> Inferencia
  • Python : tipos de datos -> iteraciones -> condicionales -> funciones

Básico:

Llamo básico al conocimiento que debería ser común a cualquier data scientist, independientemente de sus antecedentes o especialidad.

  • Análisis de datos con Pandas (abrir diferentes archivos y manipularlos)
  • Estadísticas : Asociación entre variables, análisis de varianza, prueba de hipótesis;
  • Viz : matplotlib; bokeh
  • Datos : SQL, API de consulta;
  • Aprendizaje automático supervisado : gradiente descendente -> compensación entre sesgo y varianza -> validación -> regularización –
    > métricas de regresión y clasificación -> equilibrio -> parametrización -> selección de características; -> Idea de conjuntos;
  • Aprendizaje automático no supervisado : agrupación, reducción de la dimensionalidad

Intermediario:

En este punto, un data scientist debe especializarse en áreas más pequeñas (y más difíciles); en esta etapa, apenas hay personas expertas en todas las áreas, pero te las mostraré:

  • Estadísticas : estadísticas bayesianas, experimentos causales; Econometría (si el experimento no es posible), Munging de datos;
  • Datos : Ingestión de datos, desguace web, datos no estructurados, entornos de Big Data;
  • Algoritmos de producción : Tubería de transformación; Contenedores y Creación de API;
  • Creación de modelos de múltiples capas (apilamiento) y metamodelos, modelos de incrustaciones; Interpretar modelos con LIME y SHAP;
  • Aprendizaje automático con datos autocorrelacionados (o datos del tablero);

Avanzado:

He seleccionado los siguientes temas como Avanzados no por su dificultad sino porque son los conocimientos más especializados. Es perfectamente aceptable que un data scientist experimentado nunca tenga que usar parte de estas habilidades simplemente porque no ha tenido la oportunidad en su trabajo. Pero de nuevo,
es interesante conocer los conceptos básicos de todas las habilidades.

  • Aprendizaje profundo : aprendizaje de refuerzo profundo, procesamiento del lenguaje natural, visión por computadora;
  • Estadísticas : MCMC, modelado causal con coincidencia de puntaje propenso y variables instrumentales, contrafácticos sintéticos.
  • Datos : datos orientados a gráficos, lago de datos, datos de transmisión, API de baja latencia, kubernetes

5. ¿Dónde aprender todo esto?

Como he escrito esta guía a cualquier persona interesada en la ciencia de datos que viva en cualquier parte del mundo, solo recomendaré cursos en línea, preferiblemente gratuitos. Todos ellos al menos en subtítulos en inglés que cubren la parte básica de la ruta mencionada anteriormente.

Python:

Los cursos Python recomendados más completos son la  by MITx (> 120h) o Python for Everybody by Michigan (> 30h) que puedes elegir de acuerdo con la cantidad de tiempo disponible. Ambos cursos ya han formado miles de personas a partir de cero, por lo que no tiene requisitos previos y vas a poder escribir pequeños programas.

En caso de que ya te sientas cómodo con algún otro lenguaje de programación pero no conozcas Python, puedes elegir el curso corto de 4 horas de DataCamp (gratis).

Aprendizaje automático:

Una legión de DS aprendió de Andrew NG en su famoso curso de Machine Learning de Standford. No puedo no recomendarlo. Adopta un enfoque más técnico y utiliza el lenguaje Octave (una especie de Matlab de código abierto). El curso son ~ 60h y los requisitos previos son álgebra lineal y estadísticas básicas.

Otras opciones completas serían:

  • Machine Learning de la Universidad de Washington, Coursera (> 180h).
  • Nanodegree de Machine Learning por Udacity (no gratis) (> 120h).

Estadísticas

(más largo y más completo) Fundamentos de estadística , MIT, gratis,> 160h. Este es un curso muy amplio, puede ser demasiado técnico si no tienes experiencia en matemáticas o áreas relacionadas, ya que es un curso que deriva a la matemática detrás de los conceptos. Este curso te enseñará:

  • ¿Qué tan apropiado es un modelo particular para un conjunto de datos específico?
  • ¿Cómo seleccionar variables en regresión lineal?
  • ¿Cómo modelar fenómenos no lineales?
  • ¿Cómo ver datos grandes?

Si deseas comenzar con cursos más cortos (y básicos), estas son las opciones alternativas :

Probabilidad por Harvard, edX, gratis ~ 12h. Este es un curso introductorio más pragmático que el anterior, centrándose en los temas de probabilidad, aprenderás varios fundamentos como:

  • Variables aleatorias,
  • Independencia,
  • Simulaciones de Monte Carlo,
  • Valores esperados,
  • Errores estándar,
  • Teorema del límite central.

Inferencia y modelado, Harvard, edX, gratis ~ 12h. Otro tema importante que complementa el curso de practicabilidad anterior es el curso de inferencia también por el equipo de Harvard. En este curso aprenderás el sustrato necesario para realizar un buen modelo estadístico, un margen de error y comprenderás cuán confiables son las predicciones. Las muestras de este curso fueron, todas con ejemplos del mundo real, como datos de las elecciones de 2016.

Recomendación de libro

Introductorio:

Data Science From Scratch por Joel Grus. Este es un libro excelente si eres principiante, es una lectura que no asume que tienes conocimiento previo y puede ser una excelente manera de aprender los conceptos básicos de estadística y python mientras entiendes la construcción de algoritmos . No se lo recomiendo a nadie que ya tenga una base porque puede ser demasiado lento. Hace poco lanzó la segunda versión:

Python para el análisis de datos: lucha de datos con pandas, NumPy e IPython por Wes McKinney . Todos los libros aquí son claramente buenas lecturas, pero aquí hay un caso de lectura que es una gran recopilación de técnicas simples (o no tan simples) que te ahorrarán mucho tiempo.
No es un libro de estadística o un libro de aprendizaje automático, pero deberás seguir estas técnicas para hacer algo mínimamente parecido al mundo real.

Aprendizaje automático práctico con Scikit-Learn y TensorFlow: conceptos, herramientas y técnicas para construir sistemas inteligentes . Aquí hay un libro excelente y actualizado (incluso recomiendo la segunda versión lanzada hace poco de este libro que ya está actualizada a excelente tensorflow 2.0). La primera parte habla sobre el “denominador común” de los algoritmos de aprendizaje automático y la segunda parte se centra en las redes neuronales.

Además de eso, tienes un gran repositorio de github con todo el código del libro. Disponible aquí-v2 o aquí-v1 .

Estadísticas en inglés llano . Lectura ligera y sin complicaciones para aquellos que no tienen experiencia en estadística. Cada capítulo describe una técnica estadística diferente, que abarca desde conceptos básicos como tendencia central y descripción de distribuciones hasta conceptos más avanzados como pruebas, regresión, ANOVA de medidas repetidas y análisis factorial.
Cada capítulo comienza con una breve descripción de la estadística y cuándo debe usarse, seguida de una lectura adicional que puede ser opcional.

Think Stats: Probability and Statistics for Programmers disponible de forma gratuita haciendo clic en el enlace. En esta lectura, dejarás caer las pesadas fórmulas y te embarcará en el análisis de datos reales de los institutos nacionales de salud. Para aquellos que necesitan aprender algo más práctico que teórico o si ya conocen bien la teoría y quieren ver cómo aplicarla en el mundo real. Se trata de un libro superficial e interesante.

Una introducción al aprendizaje estadístico Un clásico, lleno de ejemplos y aplicaciones (en el lenguaje R). ¡Indispensable! Los temas cubiertos incluyen regresión lineal, clasificación, métodos de remuestreo, enfoques de retracción, métodos basados en árboles, máquinas de vectores de soporte, agrupamiento y más.
Las cartas de colores y los ejemplos del mundo real se utilizan para ilustrar los métodos presentados.

No tan introductorio…

Elementos de aprendizaje estadístico (disponible gratis en el enlace) Esta publicación es un hito en el área. Antes de eso, diferentes áreas desarrollaron sus propios lenguajes y símbolos para usar conceptos estadísticos y el autor reunió todo esto a la sombra de las estadísticas. Aquí el énfasis está en los conceptos más que en las matemáticas.
Se dan muchos ejemplos con la ayuda de buenos gráficos en color. Es un recurso valioso para los estadísticos y cualquier persona interesada en la minería de datos en la ciencia o la industria. Se acerca a diferentes algoritmos y técnicas de Machine Learning con usos estadísticos.

Deep Learning por Ian Goodfellow , Yoshua Bengio y Aaron Courville, Elon Musk dijo: “Escrito por tres expertos en el campo, Deep Learning es el único libro completo sobre el tema”. La primera parte del libro es un Introducción bastante completa al aprendizaje automático más tradicional, mientras que más adelante se enfoca en el Deep Learning y la frontera del conocimiento.
Disponible online de forma gratuita.


Python fluido: programación clara, concisa y efectiva Un libro realmente completo (no se me ocurre nada más completo que esta lectura) para que aprendas incluso los detalles más pequeños de Python. Material avanzado, no recomendado para principiantes.

Métodos Bayesianos para Hackers Por: Cam Davidson-Pilon. La lectura que ayuda a dar un poco de pragmatismo a esta área de contenido súper importante pero razonablemente pobre en comparación con las estadísticas frecuentes. Un texto ligero que se centra principalmente en conceptos y aplicaciones y deja las matemáticas en segundo plano, finalmente combina la programación probalística con las estadísticas bayesianas en un libro excelente.

Recomendación de películas y documentales


MoneyBall, 2011 es el tipo de película que nos apasiona en el análisis de datos. Cuenta la historia de Billy Beane, que utiliza un equipo de béisbol razonablemente pequeño y, a través del análisis de datos, mucho coraje y un poco de política pueden dejar atrás los viejos métodos de sentimientos y revolucionar un deporte súper tradicional. Nota IMDB 7.6.

El documental AlphaGo 2017 es otro ejemplo brillante de cómo convertir algoritmos complejos de aprendizaje automático en un documental inteligible para todos los públicos. Disponible en Netflix, aprenderás parte del increíble potencial de Machine Learning en un juego que se consideró intrínsecamente humano hace unos años. Nota 7.9.

The Joy of Stats, 2010 usa la estadísticas, presentada por el emocionado profesor Hans Rosling. Muestra con varios trucos visuales cómo las diferentes áreas están lidiando con esta nueva era de inundación de datos. Nota IMDB 7.3 (¡genial!)

The Age of Big Data, documental 2013 bbc que explora tres casos muy interesantes:

  • Los oficiales de policía de Los Ángeles obtienen una predicción de dónde es más probable que ocurra el crimen en las próximas 12 horas
  • Científico de la ciudad de Londres convertido en comerciante cree que ha encontrado secretos para ganar millones con las matemáticas
  • Astrónomo sudafricano que quiere catalogar el cielo escuchando todas las estrellas.

https://www.youtube.com/watch?v=m9D-v6r3NJQ&feature=emb_logo

Lugares recomendados para estar al día.

KAGGLE. La primera recomendación no es exactamente mantenerse actualizado, pero es una fuente bastante rica de ejemplos y debates, es el sitio Kaggle comprado por Google. Hay concursos allí (que incluyen premios en efectivo altos), cursos, muchos cuadernos, debates y recientemente se está convirtiendo en una especie de plan de estudios de científicos de datos.
Entonces, si quieres convertirte en uno, vale la pena saberlo.

KDnuggets . No dejes que este sitio de los 90 parezca tonto, pero en realidad fue creado en 1997 y desde entonces ha estado reuniendo muchas publicaciones y contenido de calidad, principalmente con consejos y aplicaciones.

AnalyticsVidhya. TDS Estos son blogs con comunidades de cientos de miles de científicos de datos de todos los niveles que comparten contenido. Se necesita un poco de experiencia aquí para separar la paja del trigo, pero hay mucha calidad.

Montreal.ai Uno de mis centros favoritos, publican en diferentes redes sociales y si sigues tu canal se actualizará constantemente con la frontera del conocimiento. El contenido de alta calidad es difícil de mantener al ritmo de la innovación en el área.

6. Próximos pasos:

Obviamente, hay muchos pasos a seguir más adelante. Pero cada persona terminará especializándose en alguna sub-área que más le interese, como:

Si te gustó esta publicación, también te puede gustar lo siguiente:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *