La estructura de los datos

Cuando penséis en lo mágica que es la inteligencia artificial, el machine learning o el deep learning, echadle un vistazo a los resultados de la búsqueda “neurona artificial” en las imágenes de Google. Los primeros resultados son un escaneo de un libro de hace décadas. ¡Incluso se adivinan las letras de la página trasera!

Y es que la inteligencia artificial, y el conjunto de algoritmos guays que llenan las portadas y nos lleva a todos de cabeza, hace años que no cambian mucho

A pesar de que suelo hacer este tipo de críticas a la inteligencia artificial (al humo que rodea a esta ciencia, más bien) creo firmemente en que sí que puede aportar mucho valor en las empresas. Siempre que dejemos de tratarla como si fuera vudú. El machine learning (el área que comúnmente llamamos inteligencia artificial) no es magia, son algoritmos, recetas. Y las recetas necesitan buenos ingredientes para que el plato salga rico.

Muchos negocios están deseosos de utilizar el machine learning para potenciar sus negocios, pero lo cierto es que encuentran muchas dificultades para llevarlo a la pŕactica. ¿Por qué?, ¿tan complicado es aplicar unos algoritmos sobre unos datos? La respuesta es que sí, pero el problema no está en los algoritmos, sino en los datos. Los datos no suelen estar en el estado adecuado para cocinar.

Hay empresas que no tienen datos, hay empresas que se encuentran perdidas a la hora de encontrar los datos, hay empresas que tienen los datos pero de mala calidad, completamente desestructurados y desactualizados, … La potencia, el motor de la época en que vivimos está en los algoritmos, pero el combustible está en los datos. Ellos son la gasolina, el epicentro de todo esto.

FOCO EN LA REPRESENTACIÓN Y ESTRUCTURA DE DATOS

¿Y qué son los datos? Desde una perspectiva de negocio, datos son todos aquellos agregados de un sector o varios que ayudan y orientan en la resolución de un problema y la toma de decisiones. Pero si rascamos un poco más, veremos que finalmente los datos son símbolos que utilizamos para representar variables. Datos son unos números de teléfono. Datos son una lista de productos comprados. Datos son los textos e imágenes que comparten los usuarios de una red social. Datos son la propia red en sí. Pero los datos, así, tal cual, la máquina no los entiende muy bien. Hay que explicarle cómo interpretarlos… y antes de esto hay que estructurarlos. De hecho, tener buenos datos, estructurarlos con sentido y analizarlos con un algoritmo burdo funciona mejor que en el caso inverso.

Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious.

Fred Brooks.

¿Y por qué se almacenan así los datos? En mi opinión, porque falta formación y cultura del dato, porque no se entiende esta potencia. Se hace énfasis en los métodos, pero no en la parte de tratamiento de los datos. El machine learning tiene un alto componente matemático, y es por ello que hay poner mucho mimo en la representación y la estructura matemática de los datos que se manejan.

Una parte fundamental de los procesos de machine learning es la ingeniería de características (feature engineering). En ella es necesario mirar los datos con los ojos de alguien experto en el dominio. Sólo mirando así podremos transformar los datos en información o características que alimenten a los modelos de forma sensata. Este paso fundamental en el machine learning conlleva tiempo y expertos que entiendan el dominio y los métodos. Y, aunque las técnicas que ayudan a transformar el “Dato bruto” en “Dato de verdad” sobre los que se puede aplicar un método de IA, son sencillas, el problema en esta fase es que, en cierto modo, es bastante artesanal o Do-It-Yourself. La complicación está en elegir cómo transformar los datos. Sí, existen cursos que te pueden hablar de estas herramientas (https://www.coursera.org/learn/feature-engineering y https://medium.com/open-machine-learning-course), pero son necesarios años de práctica, mucha intuición y ganas de probar cosas nuevas (y estar dispuesto a que no funcione 🙂 )

One of the holy grails of machine learning is to automate more and more of the feature engineering process.

Pedro Domingos

Existen no pocas iniciativas públicas de open data donde es realmente complicado explotar los datos que se ofrecen precisamente por la mala estructura. No son pocos los negocios que almacenan los datos de forma descuidada y meramente transaccional. ¿Qué valor se les puede sacar a esos datos? ¿estamos siendo capaces de tener un negocio exitoso a partir de un fino, innovador y adecuado análisis de esos datos?… tal vez debamos empezar por las bases.

LA CULTURA DEL DATO

¿Está realmente el secreto en el dato? Sí y no. El secreto está en las personas. Personas que creen procesos que hagan que los datos estén en un formato adecuado. Personas que tengan una cultura del dato, que conozcan las implicaciones que tiene el almacenaje y representación de los datos para su posterior explotación.

Sobre la estructura debemos saber cosas como que sobre cada tipo de datos se pueden ejecutar unas operaciones. Los datos numéricos se pueden sumar, restar, multiplicar, … con los datos categóricos se pueden realizar operaciones de conjuntos o sacar distintas medidas estadísticas. Las series de eventos se pueden aglomerar, relacionar. El texto se puede dividir en palabras, indexar, … Las redes… las redes abren un sin fin de posibilidades. Y… ojo, operar entre distintos tipos o formatos de variables es complicado. Precisamente ahí está “la gracia” de explicarle a la máquina cómo debe operar.

Sobre la calidad, algunos aspectos a tener en cuenta son:

  • Completitud: cuál es el porcentaje de datos que tengo disponibles respecto a la población total que representan dichos datos. Importante
  • Credibilidad: cuál es la fiabilidad que se le brinda al organismo que proporciona el conjunto de datos. Muy importante.
  • Precisión: porcentaje de datos correctos respecto al total disponible. Brutalmente importante.
  • Consistencia: nivel con el que los datos son coherentes entre ellos. Extramegabrutalmente importante.
  • Interpretabilidad: grado en el que los datos pueden ser entendidos correctamente por una persona. Parece una tontería… pero os aseguro que muchas veces es el quid de la cuestión.

Sobre el significado y el gobierno de los datos:

Démosle a los datos el mimo que se merecen. Pongamos empeño en que los datos que manejamos sean de calidad, tengan la estructura correcta y representen lo que deben representar.

Tomar control de los datos de nuestra organización puede empezar por algo tan sencillo como crear una tabla para tener una representación global de los datos de la compañía. Recopilar esa información en todos los departamentos y unificarla nos será de buena ayuda para encontrar lagunas, redundancias, o malas estructuras. Una vez que sepamos los ingredientes con los que contamos podremos poner énfasis en la estructura que necesitan tener esos ingredientes para sacarles valor.

En resumen: dejad de preocuparos EXCESIVAMENTE por los algoritmos y la inteligencia artificial y rascad un poco más alla. Preocupaos por la adecuada cantidad, calidad, estructura y representación de los datos pues ellos son los que determinan el éxito de un modelo.

Leave a Reply

Your email address will not be published.