INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL MICROSOFT OFFICE USER e4you.org/es ÍNDICE 1 Introducción ______________________________________________________ 2 2 Inteligencia artificial y análisis de datos ________________________________ 2 3 Analítica visual ____________________________________________________ 9 Bibliografía __________________________________________________________ 16 INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 1 1 INTRODUCCIÓN En este tema vamos a introducirnos en el mundo del análisis de datos a través de dos de sus herramientas fundamentales: la inteligencia artificial y la analítica visual. Para esto, dedicaremos un apartado a cada uno de ellos, centrándonos en contextualizar para qué se usan estas herramientas. La inteligencia artificial, que en sí misma puede constituir una rama de estudio con otros objetivos además del análisis de datos, será el principal objetivo del curso, que se desarrollará en mayor detalle en los siguientes temas del presente curso. Dentro de la inteligencia artificial, el paradigma principalmente imperante en la actualidad es el aprendizaje automático, que es en el que nos centraremos por su presencia y aplicaciones, hasta el punto de que muchas veces se identifica aprendizaje automático con inteligencia artificial. Por otro lado, la analítica visual busca utilizar herramientas de visualización para explicar información existente en los datos. Esta disciplina puede servir para transferir directamente valor al analista de datos, que gracias a la información descubierta puede proponer actuaciones que redunden en algún tipo de beneficio — habitualmente económico—, pero también puede ser una herramienta de apoyo para el proceso de modelado propio de la inteligencia artificial. 2 INTELIGENCIA ARTIFICIAL Y ANÁLISIS DE DATOS En este apartado nos centraremos en presentar el campo de la inteligencia artificial dentro del contexto que es el análisis de datos. Conceptos fundamentales El análisis de datos es la disciplina que busca obtener conocimiento a partir de un conjunto de datos, sirviéndose de operaciones como la analítica visual, la estadística o la inteligencia artificial, entre otras. En general puede haber motivaciones muy variadas para perseguir esa extracción de información, pero lo más habitual es que contribuya a generar algún tipo de valor, como puede ser en el apoyo a la toma de decisiones. Un ejemplo para una entidad bancaria podría ser el análisis de la morosidad en el escenario de concesión de préstamos. Si la entidad lleva tiempo funcionando habrá recogido información sobre los préstamos concedidos hasta entonces, incluyendo información sociodemográfica del solicitante (edad, estado civil…), de su actividad económica, de las condiciones en que se ha concedido el préstamo… así como el resultado que ha tenido dicho préstamo (si ha habido impago). Con esta información, utilizando las técnicas del análisis de datos, la entidad podría tratar de responder a preguntas como “¿por qué fracasan algunos préstamos?” o “¿cómo influye la edad de una persona en su capacidad para devolver un préstamo?”, que al final permitiría derivar en actuaciones como podrían ser la elaboración de un modelo para estimar automáticamente la probabilidad de impago a partir de los datos de un cliente. Un sistema con inteligencia artificial se podría definir como aquel que imita la inteligencia humana. Esta definición es aceptable para un curso de iniciación como este, si bien una definición rigurosa puede implicar una discusión mucho mayor. Por ejemplo, podríamos distinguir entre sistemas que realizan de forma inteligente tareas INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 2 muy específicas (lo más habitual en el paradigma actual) o un conjunto amplio de ellas (que realmente se parece más a “imitar la inteligencia humana”). El lector interesado puede acudir a la bibliografía para profundizar en estas diferencias, que quedan fuera del alcance más aplicado de este curso. Dentro de la inteligencia artificial existen numerosos enfoques para imitar este comportamiento humano. El que predomina más actualmente es el del aprendizaje automático (machine learning), que permite, a través de técnicas con origen en las matemáticas, la estadística y la computación, extraer información de forma automática a partir de un conjunto de datos. Esta definición es todavía muy general, y muy similar a la de análisis de datos, debido a que existe una gran cantidad de familias de algoritmos, bastante diferentes en algunos casos. Un poco más adelante en este documento presentaremos las principales familias de algoritmos, que ayudarán a comprender un poco mejor esta noción. Fuentes de datos El punto de partida para el aprendizaje automático (y para muchas otras ramas de la inteligencia artificial) es un conjunto de datos (dataset) relevante para el caso de estudio, muchas veces recogido a través de la experimentación o del registro de las variables implicadas con el proceso de estudio. Los conjuntos de datos con los que es más sencillo y habitual trabajar son los conjuntos de datos estructurados, en los que se dispone de la información de varios atributos (también llamados variables, características o features) para cada una de las instancias o individuos, las ocurrencias que componen el conjunto de datos. Para entender mejor estas nociones consideraremos el ejemplo más popularmente encontrado en la iniciación al análisis de datos: el conjunto de datos Iris, recogido por Edgar Anderson y popularizado por Ronald Fisher en su artículo de 1936 “The use of multiple measurements in taxonomic problems”. Este conjunto de datos se compone de observaciones de flores del género Iris, del que el investigador anotaba las dimensiones longitudinales y transversales de pétalos y sépalos, así como la especie la que pertenecía dentro del género, apareciendo en el estudio las especies Iris Setosa, Iris Versicolor y Iris Virginica. Cada una de estas observaciones se corresponde con el concepto de instancia. Dentro de cada observación se puede identificar un valor para cada uno de los atributos (las cuatro dimensiones y la especie). Este conjunto de datos se puede poner en forma tabulada como muestra la Tabla 1. En esta se pueden identificar las instancias con las filas y los atributos con las columnas. Aunque esta representación es convencional, es prácticamente universal. Largo sépalo Ancho sépalo Largo pétalo Ancho pétalo Especie 5.1 3.5 1.4 0.2 Iris setosa 4.9 3.0 1.4 0.2 Iris setosa … 7.0 3.2 4.7 1.4 Iris versicolor 6.4 3.2 4.5 1.5 Iris versicolor … 6.3 3.3 6.0 2.5 Iris virginica 5.8 2.7 5.1 1.9 Iris virginica … Tabla 1 – Forma tabular del conjunto de datos Iris. Las medidas se indican en centímetros. INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 3 La forma tabular no es la única posibilidad para un conjunto de datos. Desde el punto de vista matemático podemos obtener una representación directa utilizando matrices, como puede ser la de la Figura 1. En esta se ha utilizado un matriz para recoger los atributos del conjunto de datos excepto la especie, que se encuentra representada en un vector independiente (o una matriz con una columna, si se prefiere). Esta forma es típica en el contexto de problemas en los que existe un atributo de especial interés que se desee conocer en función de los otros. En nuestro ejemplo, podríamos estar interesados en crear un sistema que identifique automáticamente la especia en función de las medidas de un ejemplar. Esto constituye un ejemplo de uno de los problemas más habituales en el análisis de datos, que es la construcción de un clasificador, que plantearemos en mucho mayor detalle en un tema posterior. iris setosa 5.1 3.5 1.4 0.2 (4.9 3.0 1.4 0.2) , (iris setosa) ⋮ ⋮ ⋮ ⋮ ⋮ Figura 1 - Representación matricial del conjunto de datos Iris Otra forma que puede tomar un conjunto de datos es el formato JSON, en que se representa en la notación típica de Javascript la lista de instancias (entre corchetes), describiendo cada una de ellas como un mapa (entre llaves) de pares clave-valor (separadas por dos puntos). Un ejemplo se muestra en la Figura 2. Un escenario en el que este tipo de representación puede ser especialmente interesante es en el que haya abundantes datos faltantes, esto es, valores no disponibles que estén “en blanco” en la representación tabular. También es un formato especialmente útil para ir más allá de los datos estructurados, dando cobertura a una familia un poco más amplia que serían los datos semiestructurados. Figura 2 - Representación en formato JSON del conjunto de datos Iris El formato JSON puede constituir, además de una representación, un formato de fichero en el que los datos pueden proveerse. Otros formatos de fichero populares en INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 4 el ámbito del análisis de datos son el CSV o los formatos de hoja de cálculo (XLS, XLSX, ODS…), muy cercanos a la abstracción de la representación tabular antes presentada, con diferencias sobre la codificación de los valores; formatos específicamente diseñados para las necesidades de conjuntos de datos grandes (HDF5, Parquet, Feather); los formatos propios de las bases de datos, tanto relacionales como relacionales; o los archivos específicos de algunos lenguajes de programación, como pueden ser los ficheros pickle de Python. A nivel introductorio es habitual encontrar conjuntos de datos en formatos CSV o similares, principalmente por su simplicidad. En el ámbito real aún pueden ser habituales estos formatos, dependiendo del ámbito, aunque otras alternativas suelen ser más ventajosas. Una característica importante sobre los atributos de un conjunto de datos para que este pueda considerarse como estructurado es que deben estar evaluados en un dominio que se pueda considerar “elemental”, como pueden ser números (enteros o reales descritos en coma flotante) o categorías dentro de un conjunto reducido (por ejemplo, el estado civil). Ejemplos de atributos no elementales pueden ser textos en lenguaje natural (como una descripción o el contenido de un tweet), imágenes (como la fotografía de una persona) o una serie temporal (por ejemplo, los gastos mensuales a lo largo de un cierto periodo de tiempo). Existen técnicas para transformar este otro tipo de información en datos estructurados lo que permite utilizar también algunas de las técnicas propias del análisis de datos estructurados. Por esto, el análisis de datos estructurados puede considerarse como un aprendizaje básico que constituye un conocimiento preliminar importante para técnicas más avanzadas como son la clasificación de imágenes o la predicción de series temporales. Dentro de estos tipos de atributos elementales podemos establecer una clasificación importante tanto a nivel conceptual (para identificar la semántica propia del atributo) como para la identificación de las técnicas que les son aplicables (qué tipo de gráficas tienen sentido, qué familias de algoritmos son aplicables, qué preprocesamiento es adecuado realizar...). Una clasificación sencilla es la siguiente: • Cuantitativos o numéricos: Se pueden medir y representar con números. Distinguimos dos tipos dentro de estos: o Discretos: Solo toman unos valores numéricos prefijados, habitualmente los números enteros. o Continuos: Al menos teóricamente, pueden tomar un rango continuo de valores. La definición matemática rigurosa de este concepto es que dados dos valores cualesquiera que la variable pueda tomar, existe, al menos, otro diferente entre ambos. En la práctica se interpretan identifiquen con números representados en coma flotante, aunque la definición teórica no se cumpla en este caso por limitaciones computacionales. • Cualitativas o categóricas: Toman un conjunto finito de valores o categorías, no necesariamente numéricos. Algunos casos particulares de este tipo de variable son: o Binario o dicotómico: toma únicamente dos valores (sí/no). o Ordinal: en los que tiene sentido establecer una escala de valores. Por ejemplo, en los cuestionarios con escala Likert en que encontramos las opciones “totalmente en desacuerdo”, “en desacuerdo”, “de acuerdo”, “totalmente de acuerdo”. INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 5 La Tabla 2 muestra algunos ejemplos de variables de los diferentes tipos. Atributo Valores Tipo Explicación Importe 30.50, 118.0, Numérico Aunque un importe en una 12.70, … continuo divisa tenga divisiones mínimos (e.g., céntimos de euro), en la práctica se trata como una variable continua. Número de 0, 1, 2, … Numérico No tiene sentido pensar en un hijos discreto número no entero de personas. Estado civil Soltero/a, Categórico No sería del todo correcto casado/a, viudo/a, entenderlo como ordinal (no es … que haya estados civiles “superiores” a otros). Fumador Sí, No. Dicotómica Solo admite dos valores, quizá por diseño de cómo se recojan los datos. Valoración en Totalmente en Ordinal Hay un orden natural. una encuesta desacuerdo, en Likert desacuerdo,… Tabla 2 – Ejemplos de variables Finalmente, existen numerosos recursos en los que podemos encontrar conjuntos de datos con los que practicar durante nuestro aprendizaje. Entre ellos podemos destacar como especialmente adecuado para principiantes el Repositorio de aprendizaje automático de la University of California, Irvine (UCI) 1. Aunque este cuenta con una cantidad relativamente reducida de conjuntos de datos, estos están bastante seleccionados e incluyen información orientativa sobre los problemas que podemos querer estudiar sobre ellos (veremos esto en la siguiente sección de este documento). Podemos ver un ejemplo con el conjunto de datos Iris en la Figura 3, en la que podemos identificar los enlaces de descarga en subrayado amarillo y la información pertinente en la tabla mostrada bajo estos. 1 https://archive.ics.uci.edu/ INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 6 Figura 3 - Conjunto de datos Iris en el repositorio de aprendizaje automático de la UCI Una alternativa más amplia y moderna, aunque con la desventaja de no tener sus conjuntos de datos seleccionados tan exhaustivamente es la plataforma Kaggle2, que constituye, en realidad, una comunidad donde los científicos de datos pueden compartir sus conjuntos de datos, sus análisis sobre los mismos en formato notebook, participar en foros de discusión, realizar cursos de aprendizaje e incluso participar en competiciones. Paradigmas del aprendizaje automático Dentro del aprendizaje automático podemos distinguir varias familias de algoritmos, como se muestra de forma esquemática en la Figura 4. El principal de estos paradigmas es el llamado aprendizaje supervisado, del que se pueden distinguir dos variedades principales: regresión y clasificación. Por otro lado, tenemos el paradigma del aprendizaje no supervisado, que en realidad agrupa algoritmos muy dispares, que posteriormente presentaremos. Entre ambos se puede distinguir el caso especial del aprendizaje semisupervisado, que integra técnicas procedentes de ambos paradigmas que pueden ser útiles en circunstancias específicas. Finalmente, podemos distinguir los algoritmos de aprendizaje por refuerzo, cuyo punto de partida no es un conjunto de datos como lo puede ser en los otros casos. 2 https://www.kaggle.com/ INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 7 Figura 4 - Paradigmas del aprendizaje automático El paradigma del aprendizaje supervisado se centra en un problema muy habitual que ya adelantábamos al hablar de la representación matricial: deseamos poder predecir uno de los atributos del conjunto de datos, de particular interés, en función de los otros. Este atributo especial recibe la denominación de objetivo (o target) y, según su naturaleza, hace que podamos utilizar unos u otros algoritmos. En el caso de que el objetivo tenga naturaleza categórica hablamos de problemas de clasificación, y el objetivo recibe el nombre particular de clase. En caso de que sea una variable continua hablamos de problemas de regresión, siendo el ejemplo más conocido el de la regresión lineal que es temario habitual de los primeros cursos de estadística de las ciencias e ingenierías. En el caso de las variables numéricas discretas habitualmente hay que escoger entre asimilarlas a una variable continua (regresión) o a una categórica. Dentro del aprendizaje no supervisado encontramos algoritmos que buscan extraer información de los datos (recordemos que ese era el propósito del aprendizaje automático), pero sin fijarse en una variable especialmente relevante. Quizá el ejemplo más popular de estos sean los algoritmos de agrupación o clústering, que buscan encontrar grupos de instancias de naturaleza similar mediante técnicas diversas. Otra subfamilia de algoritmos relacionada es la de detectores de anomalías, que buscan detectar instancias significativamente diferentes de las habituales. Podemos hablar también del aprendizaje de reglas de asociación, que buscan describir en términos de implicaciones lógicas con métricas de confianza asociadas circunstancias que se dan en el conjunto de datos. Finalmente, podemos también destacar los algoritmos de reducción de dimensionalidad, que buscan describir el conjunto de datos con un número menor de variables, habitualmente sintéticas, como puede ser lo que resulta del algoritmo de análisis de componentes principales (PCA). INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 8 Las dos familias anteriores de algoritmos son las más importantes y las que se tratarán en mayor profundidad más adelante en este curso. Para completar la panorámica, podemos comentar que existen métodos semisupervisados que permiten tener en cuenta la información de las instancias cuando falta con frecuencia la etiqueta asociada a las mismas; así como el paradigma del aprendizaje por refuerzo, en que un algoritmo que interactúa de forma continuada con un entorno, ajustando. su política de actuación para maximizar sus recompensas. Este último paradigma es el que se encuentra detrás de las inteligencias artificiales que han triunfado en problemas que han encontrado gran difusión, como son la derrota de los campeones del juego del go o la conducción automática. Herramientas para el aprendizaje automático Existen diferentes herramientas en las que se pueden encontrar implementaciones de los algoritmos más populares de aprendizaje automático, con diferentes niveles de complejidad y con objetivos bastante diferenciados. Aunque es complicado hacer una taxonomía de estas herramientas, podemos identificar algunos tipos comunes, de los que estudiaremos un caso particular: • Herramientas guiadas: Ofrecen al usuario un proceso guiado desde la adquisición de los datos hasta la aplicación de los modelos de aprendizaje automático, típicamente con interfaces gráficas accesibles a través del navegador. Son las más sencillas para iniciarse, especialmente en el caso de perfiles más alejados de la informática, si bien es habitualmente complicado la realización de estudios a medida sobre ellas. Un ejemplo es la plataforma Deep Intelligence. • Herramientas basadas en flujos de trabajo: Permiten al usuario definir las operaciones que se realizan sobre el conjunto de datos usando una serie de nodos interconectados. Un ejemplo es el software Orange. • Herramientas programáticas: Son herramientas que permiten realizar los estudios de aprendizaje automático directamente escribiendo código. Los lenguajes más populares actualmente son Python y R. Un ejemplo bastante potente y adecuado para la iniciación es el paquete de Python scikit-learn, aunque la necesidad de saber programar en el lenguaje es inevitable en este caso. En el resto del material del tema presentaremos cómo es el trabajo básico con algunas de estas herramientas. 3 ANALÍTICA VISUAL La importancia de la visualización La analítica visual comparte su objetivo principal con el análisis de datos: extraer información de los conjuntos de datos. Para ello se sirve de herramientas para transformar los datos en elementos gráficos escogidos para adaptarse a la percepción humana. Por ejemplo, una tabla de valores como la que veíamos anteriormente con el conjunto de datos Iris (Tabla 1) no transmitía información de forma directa. De un vistazo, es difícil concluir si las medidas de una muestra pueden servir realmente para diferenciar una especie de otra. INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 9 Observemos, sin embargo, la gráfica de la Figura 5. La gráfica debería ser autoexplicativa y responder a la pregunta que antes nos planteábamos: sí, considerando el ancho y el alto de los pétalos podemos diferenciar entre las tres especies con mucho éxito. Todavía se puede extraer más información de la gráfica, como que la Iris setosa es muy fácilmente distinguible de las otras dos especies, mientras que puede haber una ligera ambigüedad en algunos casos límite de Iris virginica e Iris versicolor. Todavía más, si construyésemos una gráfica análoga con los tamaños de los sépalos veríamos que la esta diferenciación es allí menos clara, y que, por tanto, los pétalos dan más información que los sépalos en relación con la clasificación de la especie. Figura 5 - Gráfico de dispersión del dataset Iris con los tamaños de pétalo Todas estas observaciones que nos proporciona la analítica visual pueden ser útiles para diseñar y construir modelos de aprendizaje automático, guiando el proceso de descubrimiento de conocimiento que hace que sea natural que estas dos técnicas avancen de la mano en el proceso del análisis de datos. Aunque el aprendizaje automático tenga la tentadora ventaja de no requerir tanta implicación intelectual del analista, no puede convertirse en un mero proceso de aplicación de un algoritmo: tiene que ser una búsqueda guiada del conocimiento presente en los datos (y de todo lo que derive de este, como las decisiones de negocio ventajosas), y para encontrar la mejor forma de hacerlo es necesario comprender realmente el conjunto de datos. Así pues, un buen experto en aprendizaje automático tendrá también que serlo en analítica visual. Además de descubrir la información en manos del analista de datos, la analítica visual debe servir para comunicar esa información de forma eficaz. Una forma efectiva de conseguir esto es plantearse cómo construir una gráfica que cuente la historia que hemos descubierto. Por ejemplo, en la Figura 5, si quisiéramos resaltar la dificultad de separar algunos ejemplares de Iris virginica e Iris versicolor podríamos destacar esa INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 10 región de forma especial y eliminar los puntos correspondientes a la Iris setosa en caso de querer centrarnos en esas dos clases. Adquirir la capacidad de preparar visualizaciones eficaces es un proceso complejo que debe nutrirse de la experiencia y, sobre todo, del análisis crítico de las producidas. A continuación recogemos algunas sugerencias que pueden ayudar a comenzar este proceso. • La gráfica debe ser autocontenida, el texto externo no tiene que ser imprescindible para entenderla (aunque puede ayudar a comprenderla más eficazmente). No descuidar etiquetas, leyenda…. • La gráfica tiene que transmitir información con una primera impresión. Si la vemos solo 1 segundo, ¿tendremos una impresión clara? Adaptar escalas, colores, analizar qué se representa… • Elección adecuada de colores. ¿Son datos categóricos (colores distinguibles)? ¿Son la intensidad de una magnitud (degradado simple)? ¿La intensidad entre dos extremos (degradado compuesto)? ¿Se adecúan los colores a las convenciones humanas (rojo=caliente, azul=frío…)? ¿Pueden las personas con discromatopsia percibir la escala? ¿Qué ocurrirá si se imprime la figura en blanco y negro? • Elegir el tipo de gráfica adecuado. Conocer los tipos básicos que se presentarán posteriormente será un buen punto de partida. • Aprovechar la interactividad si estamos trabajando con una herramienta que lo permita. ¿Es un filtro desplegable útil para explorar la información? ¿Mejor varias gráficas en paralelo? ¿Mejor misma gráfica con colores distintos? • Eliminar lo sobrante. Por ejemplo, series de datos irrelevantes, exceso de texto en leyendas, demasiados puntos cuando sea preferible usar un subconjunto, títulos superfluos… • Adaptar al destinatario. ¿Es el público experto? ¿Necesita un contexto adicional? • Buscar que la visualización sea impactante. ¿Podríamos conseguir algo digno de colgar de una pared? Algunos tipos de gráficos Como punto de partida es conveniente conocer los tipos de gráfico más habituales. El criterio principal para su elección es el tipo de datos, dentro de las categorías que habíamos identificado anteriormente. El gráfico de barras es una representación adecuada para mostrar un número de ocurrencias de una variable categórica. En su forma más sencilla se disponen barras de altura proporcional a ese número de cuentas. Se muestra un ejemplo en la Figura 6. Adicionalmente, la posición horizontal y el color pueden utilizarse para indicar otras variables. INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 11 Figura 6 - Gráfico de barras con el recuento de instancias por clase en el conjunto de datos Iris En caso de que la variable sea continua el gráfico de barras pierde su sentido y es necesario agrupar valores. Para ello se pueden establecer grupos dentro del rango de valores y marcar sus divisiones en el eje de abscisas, representando rectángulos de área proporcional a las cuentas, en lo que se denominaría histograma. La Figura 7 muestra un ejemplo de este tipo de gráfica. Existen elecciones alternativas a la del área, como puede ser la altura. Cuando los anchos de cada intervalo sean distintos las nociones no coincidirán, pudiendo complicarse la interpretación del gráfico. Figura 7 - Histograma con las longitudes de pétalo en el conjunto de datos Iris INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 12 Un posible defecto de los histogramas puede ocurrir cuando se encuentren en ellos fluctuaciones espurias que se puedan atribuir a una falta de estadística en lugar de un efecto real de los datos, que puede llevar a interpretaciones o impresiones erróneas. Una forma de evita esto es con los denominados kernel density estimator (KDE), en que se considera una pequeña función, como puede ser una gaussiana, en cada una de las observaciones, de cuya superposición resulta una curva que guía la interpretación. La Figura 8 recoge un ejemplo de este tipo de gráfica. Una reflexión importante es que en este tipo de gráfica se renuncia a precisión (se reemplaza cada observación por una nube difusa en torno a la misma) por ganar en facilidad de interpretación. Este balance es un principio general que se debe considerar en la elaboración de gráficas desde el punto de vista de la analítica visual. Figura 8 - KDE de las longitudes de pétalo en el conjunto de datos Iris Otra herramienta para resumir distribuciones continuas es el box-plot en que se utiliza una caja para representar el rango de valores “más habitual” en la distribución de valores (habitualmente el primer y el tercer cuartil, aunque el convenio puede variarse), marcando con líneas la mediana (y quizá con otra la media), así como unos “bigotes” el rango a partir del cual los datos se consideren atípicos (un convenio puede ser 1.5 veces el rango intercuantílico, siempre que haya datos hasta dichos valores). Un ejemplo se muestra en la Figura 9. Este tipo de gráfica es especialmente útil para apoyar afirmaciones de naturaleza estadística sobre diferencias entre distribuciones, aunque pueden completarse, de forma más rigurosa, utilizando pruebas y contrastes estadísticos. INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 13 Figura 9 - Box plot de la longitud del pétalo en el conjunto de datos Iris El último tipo de gráfica que presentaremos es el diagrama de dispersión (scatter plot), que ya había aparecido en la Figura 5. Este gráfico sirve para representar dos variables numéricas de forma simultánea, mediante la incorporación de puntos en los valores que definan el par de atributos. Se pueden utilizar características adicionales de los puntos como pueden ser el color o la forma para representar grupos en función de una o dos variables categóricas, así como el tamaño para representar otra variable cuantitativa adicional; si bien esto puede complicar la interpretación del gráfico y hacerlo contraproducente. Herramientas para la analítica visual Igual que ocurría en el caso de las herramientas para la aplicación de aprendizaje automático, es difícil establecer una taxonomía que cubra la variedad de opciones disponibles. Sin embargo, las herramientas que allí plantemos disponen también de medios para la elaboración de gráficas de analítica visual, que aquí presentaremos de forma breve. En el caso de Deep Intelligence, la herramienta está enfocada en la elaboración de cuadros de mando (dashboards) compartibles con otros usuarios. En estos cuadros de mando se pueden integrar componentes de diversos típicos, entre ellos las INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 14 visualizaciones construidas sobre los conjuntos de datos. La Figura 10 da una muestra de ellos. Figura 10 - Tipos de gráficos en Deep Intelligence Los tipos básicos más importantes, y que conviene manejar, son los siguientes: • Table: representa información de forma tabular. Puede ser útil para mostrar la estructura de nuestros datos, o para enseñar algunas instancias particulares, posiblemente mediante el uso de filtro. • Scatter chart: Muestra un diagrama de dispersión, asignando a cada eje un atributo (preferiblemente numérico). Muy útil si empleamos el color para una etiqueta con la que segmentamos el conjunto de datos. • Line graph: Evolución de una magnitud en función de otra. • Histogram: Distribución de valores de una variable. Se puede segmentar en categorías. • KPI: Para una magnitud numérica única en un rango de variación. Recomendable asignar colores y rangos para una interpretación más sencilla. • Indicator: lo mismo que KPI, mostrando el número. INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 15 • Pie chart: Para mostrar cómo se distribuye una magnitud por categorías. Algunos tipos de gráficos avanzados más interesantes para escenarios específicos: • Radar chart: Para mostrar a la vez más de 3 variables. Hay que preguntarse si es más útil que emplear un gráfico para cada una de ellas. • Table (Complex): Permite realizar operaciones de agregación sobre la tabla (por ejemplo, agrupar por alguna de las variables y dar las medias de una magnitud numérica en esos casos). • Word cloud: Para recoger las palabras más empleadas en un corpus textual. • Map (heat): Para mostrar mapas de calor en regiones. • Social Networks: Para construir un explorador en que se muestran perfiles de usuarios. Por el momento se soporta solo Twitter. • Tree Map: Visualización de datos jerárquicos. • Tree Map (Voronoi): Variación del anterior. • Image display: para mostrar imágenes disponibles en nuestros datos, posiblemente en combinación con filtros. Respecto a la herramienta Orange, los widgets disponibles en su categoría de visualización permiten construir algunos tipos de gráficos siguiendo el esquema de trabajo basado en flujos propio de la herramienta. Por su naturaleza, están particularmente enfocados a la exploración interactiva por parte del usuario experto. Finalmente, en el caso de scikit-learn no cuenta estrictamente con funcionalidad básica de visualización, aunque integra alguna funcionalidad específica construida sobre el paquete de Python matplotlib, que es el más utilizado en lenguaje Python para la construcción de gráficas estáticas. Merece la pena conocer también la biblioteca seaborn, construida sobre matplotlib y pensada para facilitar la construcción de los gráficos más habituales, pudiendo completarse la personalización de los mismos recurriendo de nuevo a matplotlib. Una alternativa diferente es la biblioteca plot.ly, especialmente indicada para la construcción de visualizaciones interactivas. BIBLIOGRAFÍA Bibliografía principal • • Russell, S. J., y Norvig, P. (2004). Inteligencia Artificial: un enfoque moderno. Pearson. Hastie, T. et al. (2001). The elements of statistical learning. 2001. Bibliografía complementaria • • • Bishop, C. (2006). Pattern recognition and machine learning. Springer. Anderson, E. (1936). The species problem in Iris. Annals of the Missouri Botanical Garden, 23(3), 457-509. Fisher, R. A. (1936). The use of multiple measurements in taxonomic problems. Annals of eugenics, 7(2), 179-188. INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 16 • • Tufte, E. (1973). The visual display of quantitative information. Graphics Press USA Tufte, E. R., Goeler, N. H., & Benson, R. (1990). Envisioning information (Vol. 2). Cheshire, CT: Graphics press. INTRODUCCIÓN A LA IA Y LA ANALÍTICA VISUAL 17