Muchos artículos que hablan sus diferencias, cuando me preguntan suelo dar las que a mí me parecen las más apropiadas. Algunas diferencias son difusas.

Por empezar, hará cuestión de 10 años, lo que hoy se conoce como Ciencia de Datos, se llamaba Data Mining.

Hoy día en las noticias, se suele utilizar el término IA para todo. Esta disciplina existe hace mucho pero no tomo tanto auge hasta que surgió Deep Learning.

boston_dyn

A mi me gusta hacer la distinción por el tipo de problema que resuelven, y las librerías que se usan. Algo muy concreto. Pero antes, una tabla de conversión rápida:

  • Data Science = Machine Learning.
  • IA = Deep Learning

Una distinción semántica es cuando uno dice: "Modelos de Machine Learning", y no "Modelos de Ciencia de Datos".

Veremos la clasificación de acuerdo a:

  • ✅Los problemas que resuelven
  • ✅Las librerías que se usan
  • ✅Los nombres de los algoritmos

A modo de bonus track, mencionaremos Big Data.

Parte 1: Clasificación de acuerdo a los problemas que resuelven:

Si hablamos de:

  • Procesamiento de texto "avanzado" (NLP)
  • Análisis y creación de imágenes/video
  • Análisis de secuencias en general
  • Procesamiento de sonido

Entonces esto se logra, en general, con técnicas provenientes de Deep Learning/IA.

La Gioconda animada con técnicas de deep learning

Últimamente cuando se quiere hacer referencia a los típicos proyectos de análisis predictivo, se habla de "Machine learning clásico". Esta rama es válida para la mayoría de los problemas que podemos encontrar en el mundo laboral, si bien hay miles de ejemplos, citaré algunos:

  • Retención y fuga de clientes (attrition y churn)
  • ¿Quién tiene probabilidad de comprar un producto?
  • Predicción de cantidad de usuarios en un sitio web
  • Segmentación automática de clientes, o pacientes en el mundo médico.
  • Probabilidad de internación en un hospital

¿Se les ocurre algún otro "clásico"? Déjenlo en los comentarios (registración necesaria).


Breve historia sobre Deep Learning 🤖

Para dar más contexto, haremos esta introducción.

Como comente, la mayoría de los problemas que tenemos se resuelven con ML "clásico", aunque la palabra IA sea tan popular, no fue hasta que vino el desarrollo de deep learning que la IA tomo un impulso grande.

Hasta hace unos años las redes neuronales (por ejemplo: perceptron), no daban mejores resultados que algoritmos como el random forest.

ia_deep_learning_data_science_trends


Imagen: Google trends. Se puede ver como predomina IA sobre el resto. Además de la correlación entre los otros términos.

[Solo para nerds🤓]: A mi entender, deep learning como término masivo empezó surgir cuando un equipo de google renombro su google brain a tensorflow y lo hizo open-source. Pudiendo acceder a estructuras de datos que corrían directamente con la placa de video (la famosa GPU). Les recomiendo leer el paper: Deep Neural Networks for YouTube Recommendations. Otro hito fue la solución ganadora en la competencia de ImageNet, la cual uso una red neuronal con muchas capas, es decir una red deep.


📨 Escuela de Datos Vivos en Linkedin y Twitter.


Parte 2: Clasificación de acuerdo a las librerías que se usan

Esto es muy concreto y sirve, por ejemplo para aquellos reclutadores que desean ajustar sus búsquedas rápidamente.

Inteligencia Artificial / Deep Learning

deep_learning_ia_lenguajes

Casi todos los proyectos usan Python, entre sus librerías/proyectos aparecen fastai, pytorch, keras, tensorflow, theano.

R también tiene una participación ya que gracias a RStudio, se portaron desde python los desarrollos de keras y  tensorflow.

Ciencia de Datos / Machine Learning

r_python_data_science_tecnologias

En Python:

Los conocidos numpy y pandas, (obviamente también se usan en IA/DL). Y el clásico sklearn.

En R:
caret, mlr, tidymodels, tidyverse.

Hay muchas mas librerías, pero a diferencia de Python, no se encuentran encapsuladas en una sola (como es el caso de sklearn).

Menciono también a H20.ai que también permite crear modelos en ambos lenguajes.

Siempre recuerdo esta imagen cuando menciono tecnologías:

r0SEEoh

Parte 3: Clasificación de acuerdo al tipo de modelo

Inteligencia Artificial / Deep Learning

Evidentemente, en IA/DL se usan redes neuronales artificiales. Y de acuerdo a su arquitectura, podemos realizar distintos proyectos.
No entraremos en detalle por el momento.

ThatDisloyalCaribou-size_restricted

Ciencia de Datos / Machine Learning

Solo listaré los que considero mas populares, y los separo por lo que resuelven:

  • Modelos predictivos: regresión lineal/logística, random forest, xgboost, lightGBM, árboles de decisión, series de tiempo, support vector machine (SVM), y otros.
  • En clustering: k-means, clustering jerárquico, HDBSCAN.
  • En reducción de dimensionalidad: PCA, UMAP, t-SNE.

Usar técnicas de Deep Learning para resolver problemas de Machine Learning (ó viceversa), puede ser un error.


Bonus track: Big Data

Suele estar relacionado a tecnologías que usan más los ingenieros de datos (Data Engineer), y es un mundo en si mismo.
Big data no es data science, y si hacemos hincapié en su diferencia, big data está más vinculado al manejo de grandes volúmenes de datos, pero no necesariamente para aplicarle modelos predictivos.

Por ejemplo, administrar bases de datos distribuidas con el paradigma map/reduce usando hadoop, nosql, hive, athena, y otra vez... un big etc.

big_data

Vamos a mencionar algunos pokemones mas: En algunos -pocos- proyectos, puede necesitarse análisis y/o predicción en tiempo real o de grandes volúmenes. Una de las tecnologías que puede usarse es spark, que está escrito en scala, y además puede crear modelos predictivos nativos.

Gracias Lucas Crespo por esta big-lista!

De hecho, también se puede usar spark, escribiendo en python: pyspark o en R: sparklyr.


No, no me olvidé de SQL

SQL es, casi siempre, el primer paso para extraer los datos. Es un tipo de lenguaje que el data scientist no lo tendrá tan desarrollado como el data engineer, ya que solo lo usara para obtener los datos de entrada. Si los datos fuesen muchos, podría usarse spark.


Resumen

✅ IA = Deep Learning
✅ Data Science = Machine Learning
✅ Se diferencian por la tecnología y el tipo de problema que resuelven
✅ La tendencia es llamar a todo IA


Deje varias cosas afuera del post para simplificar, como la estadística , herramientas comerciales como SAS y SPSS.  Me enfoque en hacer un mapa rápido. Hay zonas grises y las definiciones no son únicas.

¿Y qué acerca de los roles? Data Scientist VS. ML Engineer VS. Data Analyst... bueno quizás sean temas de otro post 😁

Eso es todo por ahora!

Si tienen alguna consulta o quieren contribuir al post, pueden hacerlo en los comentarios 👩🏼‍💻 (hay que registrarse, es gratis!)


📬 Escuela de Datos Vivos en Linkedin y Twitter.

Curso gratuito Desembarcando en R   2da Edición! 💻