Definitivo U2 Ciencia de Datos
Definitivo U2 Ciencia de Datos
Definitivo U2 Ciencia de Datos
Tópicos de la ciencia
de datos
Curso: Introducción a la ciencia de datos
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
Así como éste podríamos listar una enorme cantidad de problemas que podemos resolver usando Data
Science. Como no hay espacio para listar todos los problemas posibles vamos a agruparlos en categorías
intentando que cada una de estas categorías sea representativa de una buena cantidad de problemas. Es
además una buena forma de presentar terminología que usaremos constantemente a lo largo del curso. Por
favor notemos que vamos a presentar estas categorías simplemente desde el punto de vista de qué
pregunta podemos hacernos en base a nuestros datos, no vamos a entrar aún en detalles ni terminología
propios de cada tipo de problema.
_______________________________________________________________________________________________________________________________
UNIDAD 2 2
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
1.1. Regresión
En un problema de regresión queremos predecir el valor de una variable numérica y continua a partir de un
cierto conjunto de datos. En general contamos con un cierto set de entrenamiento en el cual conocemos el
valor de la variable que queremos predecir. El objetivo es entonces construir un modelo que nos permita
predecir el valor de nuestra variable de decisión a partir de datos nuevos.
El caso más simple es la regresión lineal en el cual nuestro modelo es una recta, la recta que mejor se
ajusta a los puntos de nuestro set de entrenamiento. Los problemas de regresión pueden usarse para
predecir el valor de las acciones en el mercado de valores, para estimar el costo de una propiedad, para
calcular la cantidad de personas en un casino, para estimar las ganancias de un negocio que queremos
abrir, etc. Las claves para identificar un problema de regresión son las siguientes:
1.2. Clasificación
La clasificación automática es muy similar a la regresión pero la variable que queremos predecir no es
continua sino discreta, frecuentemente tiene pocos valores posibles y en muchos casos los valores posibles
son solo dos (clasificación binaria). La idea es la misma que antes, contamos con un set de entrenamiento
en el cual para cada dato conocemos la clase a la cual pertenece el mismo, queremos construir un modelo
que nos permita clasificar automáticamente datos nuevos cuya clase desconocemos.
_______________________________________________________________________________________________________________________________
UNIDAD 2 3
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
Un caso típico de la clasificación binaria es el análisis de sentimiento, que podría ser una categoría en sí
misma dada su enorme utilidad. En un problema de análisis de sentimiento queremos saber si un cierto
texto es positivo o negativo, es decir si habla bien o mal de un cierto tema. Como set de entrenamiento
deberíamos contar entonces con textos para los cuales ya conocemos su sentimiento. Como podrán
imaginarse esto tiene muchísimas aplicaciones como por ejemplo analizar si los reviews de un producto son
buenos o malos, determinar si un usuario de una Red Social está pasando por un mal momento, medir la
actitud del público en general ante determinadas noticias por los comentarios que existen en un medio
gráfico, etc. Y ésta es sólo una de las muchísimas formas que puede tomar un problema de clasificación.
Otro ejemplo que estudiaremos más adelante consiste en predecir la clase a la cual pertenece un vino en
base a sus propiedades químicas, contamos como set de entrenamiento con un conjunto de vinos para los
cuáles conocemos su clase y el valor de ciertas propiedades químicas del mismo y en base a estos datos
queremos construir un modelo que nos permita predecir la clase para vinos nuevos cuya clase
desconocemos en base a sus propiedades.
Para reconocer un problema de clasificación en general hay que estar atentos a las siguientes pistas:
En algunos casos existe una zona gris entre problemas de clasificación y de regresión, como ejemplo
planteemos el siguiente problema: Contamos con reviews para un determinado producto, por ejemplo autos
y para cada review hay un número de 1 a 5 que indica que tan positivo es el mismo, por ejemplo las típicas
estrellitas con las que podemos calificar cosas en varios sitios. Este problema lo podríamos plantear como
un problema de clasificación con cinco clases o bien como un problema de regresión con valores posibles
del 1 al 5. La diferencia es que en un problema de regresión nuestro modelo podría predecir 3.45 para un
cierto review mientras que en un problema de clasificación los valores posibles son solo 1,2,3,4 y 5. No
_______________________________________________________________________________________________________________________________
UNIDAD 2 4
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
existe una receta para resolver este tipo de situaciones; en algunos casos obtendremos mejores resultados
planteando el problema como una regresión y en otros como una clasificación.
Es frecuente plantear un problema de clasificación binaria como un problema de regresión en donde los
valores posibles están en el intervalo [0,1]. Esto trae aparejada la ventaja de que los valores que el regresor
genera pueden, bajo ciertas circunstancias, interpretarse como la probabilidad de que la observación sea un
1.
1.3. Clustering
En un problema de clustering contamos con datos que queremos dividir en grupos de forma automática, por
ejemplo, podemos tener artículos de noticias y querer agruparlos en categorías de forma tal que queden
juntos todos los de deportes, economía, política, etc.
En algunos casos la cantidad de çlusters "la debemos indicar previamente y en otros el algoritmo es capaz
de determinarla por sí mismo. Otro ejemplo podría ser agrupar películas automáticamente, de forma que
queden juntas las que son de un mismo género.
La detección de comunidades en una red social es un típico problema de clustering en donde los puntos son
los usuarios y queremos agruparlos automáticamente en comunidades, de esta forma podemos descubrir
grupos de usuarios que tienen un cierto interés en común aun sin saber exactamente cuál es dicho interés.
A los problemas de clustering se los suele llamar “aprendizaje no supervisado” en contraste con los
problemas de regresión o clasificación que son de tipo supervisado. La diferencia está dada porque no
necesitamos conocer el valor de una cierta variable o clase para cada punto, es decir que solo necesitamos
los datos en crudo y el algoritmo es capaz de encontrar los clusters automáticamente.
_______________________________________________________________________________________________________________________________
UNIDAD 2 5
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
Existe una cierta relación entre los problemas de clustering y de clasificación, por ejemplo dado un problema
de clasificación podríamos aplicar clustering primero y luego clasificar a cada punto de acuerdo al cluster al
cual pertenece en base a la clase mayoritaria de dicho cluster. Este procedimiento no es muy frecuente pero
es conveniente tenerlo en cuenta porque permite entender el funcionamiento de ciertos algoritmos que
combinan las propiedades de un problema de clustering y uno de clasificación.
El aprendizaje no-supervisado es una rama muy importante en Data Science ya que solo trabaja con datos
sin necesidad de tener un "label"para los mismos, es decir que solo necesitamos los datos en crudo y estos
en general son mucho más fáciles de conseguir que datos ya previamente clasificados. El aprendizaje
transductivo es un área muy nueva dentro de Data Science y que sin dudas merece ser explorada.
Los sistemas de recomendación son en general particularmente complejos e involucran el esfuerzo conjunto
de varios algoritmos y herramientas, tienen realmente muchos detalles a considerar y por eso vamos a
dedicarles un extenso tratamiento más adelante.
● Almacenamos información no-estructurada como textos planos, páginas HTML, imágenes, sonido,
etc.
● Queremos encontrar los items de información más relevantes para las consultas realizadas
_______________________________________________________________________________________________________________________________
UNIDAD 2 6
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
● Contamos con información que frecuentemente es de tipo transaccional (compras, ventas, visitas a
una página, etc)
● Queremos encontrar patrones, asociaciones entre los ítems que se incluyen dentro de cada
transacción
Reconocer el tipo de problema que tenemos es sumamente importante ya que nos permite determinar
cuales son las armas con las que contamos, es decir los algoritmos que en general suelen funcionar muy
bien para problemas similares al que queremos resolver.
_______________________________________________________________________________________________________________________________
UNIDAD 2 7
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
En este servicio los usuarios pueden contratar labor humana ofreciendo un cierto precio para realizar tareas
repetitivas. Otros usuarios pueden tomar estas tareas y cobrar el dinero ofrecido luego de terminarlas. Esta
forma de crowdsourcing es muy popular en la comunidad de Data Science en los casos en los cuales es
inevitable contar con intervención humana para crear los sets de entrenamiento. Un factor interesante a
analizar es si el tipo de comunidad que suele tomar este tipo de trabajos no introduce algún tipo de bias1
indeseado en los datos.
Para la carga de datos de diversas fuentes es necesario contar con un buen conjunto de bibliotecas que
permitan leer datos en diversos formatos: SQL, XML, JSON, CSV, TXT, etc.
Más allá de la corrección del valor de cada dato es necesario también asegurarse que los datos estén Bien
Formados, es decir que cada "fila" sea una observación y que cada "columna" sea un atributo.
Frecuentemente los datos llegan en formatos que no están bien formados y es necesario realizar algunas
manipulaciones para transformarlos.
Veamos algunos ejemplos de datos que no están bien formados y la forma de corregirlos.
Ejemplo 1: Nuestro primer ejemplo muestra las notas que los alumnos obtuvieron en ciertas materias:
Este caso es uno de las formas más comunes de datos mal formados, el problema es que no tenemos cada
observación en una fila sino que tenemos varias. Es por esto que el atributo "nota" no aparece como
nombre de la columna. Para que los datos estén bien formados cada fila tiene que ser una observación y
cada columna un atributo. La forma de corregir este set de datos sería la siguiente:
1
Por bias se entiende a una tendencia arbitraria que favorece datos de un cierto tipo
_______________________________________________________________________________________________________________________________
UNIDAD 2 8
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
En esta versión podemos ver que cada observación es una fila y cada atributo es una columna.
Ejemplo 2: En la siguiente tabla mostramos para algunas materias la cantidad de alumnos que obtuvieron
notas dentro de un cierto rango
En este caso el problema es que tenemos valores de atributos como nombres de columnas, esto no cumple
la definición de datos bien formados. Para corregirlo aplicamos una transformación similar a la de nuestro
primer ejemplo:
La versión corregida cumple el principio de que cada observación sea una fila y cada atributo sea una
columna.
_______________________________________________________________________________________________________________________________
UNIDAD 2 9
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
de 7000 kilómetros en una base de datos en donde todas las distancias están entre 50 y 80 kilómetros.
Probablemente se trate de un dato mal ingresado con dos ceros extra.
La detección de anomalías no siempre es una tarea fácil y son necesarios algoritmos específicos para
detectar los puntos anómalos, esto se debe a que en muchos casos los valores de los atributos de un dato
pueden parecer razonables pero la combinación de valores es la que resulta anómala. Por ejemplo
consideremos una persona que tiene edad 4 años y altura 187 cm. Tanto la edad como la altura son valores
lógicos y válidos para una persona, lo que no es lógico es la combinación ya que un chico de 4 años no
puede medir casi dos metros.
En la figura anterior podemos ver como un dato anómalo puede perjudicar muy seriamente un problema de
regresión lineal, el peso de la anomalía cambia completamente el comportamiento de nuestro modelo,
ciertos algoritmos son más sensibles a los outliers que otros, es un dato a tener en cuenta para saber la
importancia que debemos darle a la detección de anomalías en nuestro proceso.
El problema surge cuando los datos faltantes no son válidos para el algoritmo con el cual vamos a procesar
la información. Algunos algoritmos admiten datos incompletos y otros no. En los casos en los que los datos
incompletos no son admisibles debemos solucionarlos de alguna forma.
Una opción es eliminar aquellas observaciones para las cuales algún atributo tiene valores faltantes, esto es
válido siempre y cuando sean solamente una pequeña minoría dentro de nuestro conjunto de datos. Cuando
esto no es posible es necesario de alguna forma completar los atributos faltantes, a esto lo llamamos
imputación. El proceso de imputación de valores faltantes puede hacerse de muchas formas, una forma muy
_______________________________________________________________________________________________________________________________
UNIDAD 2 10
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
simple es completar con el valor promedio o la mediana para atributos numéricos y con el valor más popular
para atributos categóricos. Pero también podemos encarar el proceso de imputación como un mini-proceso
interno de Data-Science, en cuyo caso compartiremos los atributos numéricos mediante un algoritmo de
regresión y los datos categóricos con un algoritmo de clasificación. Lo que hacemos en estos casos es
tomar todos los atributos que tiene nuestro dato y en base a estos atributos predecir los atributos faltantes
tomando como set de entrenamiento el conjunto de datos para los cuales el atributo tiene algún valor.
Existen varios algoritmos de imputación y algunos lenguajes cuentan con funciones para completar los
valores faltantes en los datos automáticamente.
_______________________________________________________________________________________________________________________________
UNIDAD 2 11
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
Tenemos cuatro tablas con dos atributos cada una: X e Y . Si calculamos algunas estadísticas de nuestros
datos obtenemos la información de la siguiente tabla.
Como podemos ver todos los valores de X e Y presentan el mismo promedio, suma de valores y desviación
estándar, es decir que podríamos decir que estadísticamente X1-Y1, X2-Y3, X3-Y3 y X4-Y4 son iguales. Sin
embargo si graficamos estos cuatro plots vemos lo siguiente:
_______________________________________________________________________________________________________________________________
UNIDAD 2 12
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
Como podemos ver datos que son estadísticamente idénticos pueden ser completamente diferentes
gráficamente, por eso es sumamente importante realizar todo tipo de plots para tener un buen conocimiento
del conjunto de datos con el que trabajamos. El cerebro humano procesa la información gráfica de forma
mucho más eficiente que los números, podemos entender fácilmente la “forma” de los datos del cuarteto de
Anscombe al ver los plots pero esta forma no es tan fácil de visualizar si solamente vemos la tabla con los
datos en forma numérica. Estos plots no tienen que ser ni lindos ni tampoco detallados, son simplemente
herramientas para rápidamente dar un vistazo gráfico a los datos.
En este curso no cubriremos en detalle los algoritmos de aprendizaje automático. Sin embargo al final
haremos uso de los mismos con un ejemplo de prueba.
_______________________________________________________________________________________________________________________________
UNIDAD 2 13
INTRODUCCIÓN A LA CIENCIA DE DATOS
_________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________
UNIDAD 2 14