14 Mar 2018
Data Science: qué es y qué no es
Lectura: 10 mins.
|
Dificultad:

Data science: qué es (y qué no es)

Desde hace ya unos años, no dejamos de escuchar alusiones a data science, big data, machine learning, inteligencia artificial… Y la verdad es que, entre tanto palabro, no es difícil perderse en este océano de términos, especialmente cuando hay un desconocimiento generalizado que hace que se usen indistintamente.

La intención de este post es que, cuando hayas llegado al final, tengas una idea más clara de lo que es (y lo que no es) el data science y los otros términos relacionados.

Data science, como su nombre indica, es la ciencia que estudia los datos. Pero, ¿qué significa esto realmente? Pues la verdad es que muchas cosas y es que es un término muy general, por lo que iremos viendo sus subdisciplinas y conceptos más importantes.

Todos los conceptos explicados de aquí en adelante pertenecerán al campo de data science. Empecemos, por ejemplo, por la minería de datos.

Data mining

Data mining (o minería de datos) ocupa una parte muy grande en el mundo data science: engloba todo lo relacionado con sacar información útil y de valor en donde, en un principio, no parece estar. Normalmente, se parte de datos no estructurados —como bien puede ser el texto humano— y termina en unas conclusiones o información de valor, habiendo pasado por diferentes técnicas y algoritmos.

Las preguntas a las que los problemas de data mining intenta responder pueden ser muchas. Por ejemplo:

  • ¿Es el modelo de coche de mis clientes influyente en su fidelidad con la marca?
  • ¿Con qué seguridad puedo predecir si el número de ventas este año va a llegar a su objetivo?
  • ¿En base a qué características podría clasificar a mis clientes para hacerles llegar un tipo de anuncios u otros?
  • ¿Cómo afectaría a mis ventas que invirtiera en una ONG y saliera publicado en las redes sociales?

Por supuesto, se pueden extender al campo que se quiera (ej., medicina, astronomía, psicología…) y las preguntas podrían ser las mismas que se le harían a un gurú experto en el campo. Mola, ¿no?

Para poder tener una idea más clara, y así entender mejor algunos conceptos, vamos a ver las diferentes fases de las que se compone un problema de minería de datos:

  • Recogida de la información.
  • Preprocesado.
  • Entrenamiento del modelo.
  • Testeo.
  • Visualización e interpretación de los resultados.

Fases data mining

Recogida de la información

Recogida de datosNo siempre se tiene la información inmediatamente disponible en una base de datos (u hoja de cálculo) y su obtención es parte del proceso. La recogida de la información puede realizarse mediante colocación de sensores, scrapeo de la web, peticiones a APIs, formularios… o de cualquier forma que la creatividad nos permita.

Preprocesado

Preprocesado de datosUna vez se tiene la información que se considera necesaria para resolver nuestro modelo, se le debe aplicar un preprocesado. Es decir, sin perder información de valor, dar vueltas a la información que ya tenemos para prepararla para la siguiente fase. El objetivo es representar la información en un formato que consiga reducir el coste de cómputo y optimizar los resultados de los algoritmos.

Hay muchas técnicas y métodos diferentes que pueden aplicarse en esta fase. Algunos de ellos son:

  • Reducción de la dimensionalidad.
  • Discreción de variables.
  • Normalización.
  • Cuantificación.
  • Saneamiento.

El preprocesado es una fase crítica, ya que condiciona al resto del proceso y puede causar la diferencia entre el éxito y el fracaso del modelo. Por ello, esta fase y las que le proceden son tan dependientes entre sí que lo habitual es iterar sobre ellas hasta encontrar la combinación que mejor se ajuste.

Entrenamiento o machine learning

Machine LearningEntrenar el modelo significa alimentar algoritmos de machine learning con nuestros datos.

Los algoritmos de machine learning (o aprendizaje automático) son capaces de predecir y clasificar información nueva, a raíz de haber sido entrenados con información pasada.

Igual te suenan algunos ejemplos de algoritmos de machine learning. Por ejemplo:

  • Los árboles de decisión.
  • Las redes neuronales.
  • Los algoritmos de clusterización.

Los algoritmos de machine learning se pueden clasificar como de aprendizaje supervisado o como de aprendizaje no supervisado. La diferencia es que los de aprendizaje supervisado aprenden a hallar respuestas basándose en casos pasados con sus respuestas ya conocidas, mientras que los de aprendizaje no supervisado tratan de aprender sin tener las respuestas.

Testing

TestingPor lo general, no existe un algoritmo mejor que otro, algunos rinden mejor en unos casos y otros, en otros casos. Y la manera de hallar la mejor solución es probándolos uno a uno, con diferentes configuraciones, hasta encontrar el mejor para nuestro caso. Se sigue una metodología experimental prueba-error porque, a priori, es muy difícil adivinar qué tipo de algoritmo y configuración va a tener mejores resultados. Solo los mejores profesionales en machine learning pueden tener una vaga idea de qué tipo de algoritmos pueden funcionar mejor con un set de datos determinado. Pero aún así tendrían que probar varias opciones y testearlas.

Existen diferentes técnicas para validar los resultados de un algoritmo de machine learning, es decir, para medir la bondad del clasificador. Para los de aprendizaje supervisado, entre otras técnicas, se reserva una parte de los datos para realizar el entrenamiento y el resto se utiliza para validar o testear el modelo. Para los de aprendizaje no supervisado es más complicado, pero también existen métodos que dan una estimación de la bondad del algoritmo.

A veces incluso lo que más conviene es elegir aplicar varios algoritmos a la vez y dar por buena la respuesta más votada entre los algoritmos elegidos.

Visualización e interpretación de datos

Visualización e interpretaciónFinalmente, para poder comunicarlo a terceros, se tiene que representar de alguna forma el conocimiento obtenido. Se tiene que hallar la manera más limpia e intuitiva de visualizar los resultados y, con ayuda de diferentes softwares, crear estas visualizaciones.

¿La minería de datos es inteligencia artificial?

Bueno, la minería de datos puede utilizar inteligencia artificial en sus fases de aprendizaje, ya que algunos de los algoritmos de machine learning sí que forman parte de la inteligencia artificial. Pero la inteligencia artificial es más que eso.

La inteligencia artificial busca simular y reproducir el razonamiento lógico tal y como lo hacemos los humanos. No solo para encontrar patrones, clasificar y predecir eventos en base a una información, sino también para generar datos en concordancia y lógica a una experiencia pasada. Algunos ejemplos de aplicación son:

  • Generación de títulos óptimos para llamar la atención de una audiencia específica.
  • Creación de un asistente virtual inteligente de atención al cliente.
  • Generación de logos (o ideas de logos) de forma automática.
  • Cálculo de rutas óptimas de unos camiones de reparto.
  • Atención al cliente automático basado en reconocimiento de voz.
  • Sistemas de recomendación (de películas, de canciones, de hoteles…).
  • Desarrollo de jugadores de juegos de mesa virtuales.
  • Extracción automática de las ideas más importantes de un texto.

No quiero asustaros, pero se podría incluso desarrollar inteligencia artificial con inteligencia artificial.

Inteligencia artificial

¿Y qué es big data?

Big data es la disciplina que trabaja con grandes cantidades de datos. Es decir, el big data está presente en los proyectos potentes de data science. Y sí, al igual que se tiene big data, también se tiene small data y medium data, aunque al no sonar tan potente, no se utilizan tanto.

Para proyectos de small data, con utilizar un excel o una base de datos pequeña en un ordenador portátil es suficiente. Además, es muy fácil de manejar, porque toda la información cabe en la memoria RAM del ordenador y se puede “ver” toda a la vez.

El medium data trabaja con cantidades más grandes de datos, donde un excel no sería suficiente para albergarlos a todos y, aunque sí podríamos almacenarlos en una base de datos de un ordenador, habría que utilizar ciertas técnicas para procesar y analizar la información sin pedirla toda de golpe, ya que sería demasiado grande para cargarlo en memoria.

Los proyectos de big data son los que necesitan incluso varios ordenadores compartiendo información para que el procesamiento y el almacenamiento sea posible. Esto supone utilizar técnicas de sincronización y cooperación entre máquinas.

¿Cómo se llama a los profesionales que trabajan en estas disciplinas?

Normalmente es el data engineer o ingeniero de datos el que se encarga de configurar y diseñar las bases de datos de forma óptima para el tipo de consultas que se le van a hacer. De hecho, el ingeniero de datos está detrás de toda la parte informática de un proyecto de data science; desde la recogida y almacenamiento de datos, programación del código que maneja los datos, hasta realizar las visualizaciones pertinentes.

Un perfil parecido, y que se suele confundir con el ingeniero de datos, es el científico de datos. Más conocido como data scientist, la profesión más sexy del momento.

Tanto un ingeniero de datos como un científico de datos tienen que tener conocimientos de informática y estadística y no es raro que de vez en cuando uno haga el trabajo del otro. Un data scientist tiene un perfil más matemático y menos informático que el data engineer y su trabajo es diseñar los algoritmos a utilizar. También, suele tener más conocimiento sobre de qué manera presentar los datos al público para que sean útiles y fácilmente interpretables.

Para que se entienda mejor: se podría decir que un data scientist y un data engineer son comparables a un médico y un enfermero: el data scientist sería el médico y el data engineer el enfermero. O, si se prefiere, se pueden comparar con un arquitecto y un ingeniero de edificación, donde el data scientist sería el arquitecto y el ingeniero de datos, el ingeniero de edificación.

Conceptos con los que todos estamos más familiarizados son la estadística y la probabilidad. Aparecen en este post porque juegan un papel muy importante en el mundo del data science, dado que todos los algoritmos se basan en la probabilidad estadística.

Probablemente, calcular la regresión lineal de la subida del precio de la gasolina para estimar cuánto va a costar el año que sigue o estimar la probabilidad que se tiene de ganar la lotería fueron algunos de los primeros problemas que se plantearon de data science. Problemas que se resuelven desde hace décadas en los temas de estadística y probabilidad de las clases de matemáticas de los institutos.

Y no os voy a dar más la chapa. Con haber entendido hasta aquí sabéis suficiente como para hablar sobre data science con cualquiera sin meter demasiado la pata. Pero, por si acaso, os dejo una pequeña chuleta que resume este post.

Conceptos de Data Science