Sei sulla pagina 1di 68

Postgrado Inteligencia de Negocios

Introduccin a la Minera de Datos

Esp. y Lic. Mara Cecilia Dmina cdomina@gmail.com


Mg. Ramiro Glvez ramirogalvez@gmail.com
Ing. Pablo Cigliuti pabcig@gmail.com

2015

Exploracin de datos

Exploracin de Datos
Consiste del anlisis exploratorio preliminar de los
datos para entender mejor sus caractersticas
Ayuda a seleccionar las mejores herramientas para
preprocesarlos y analizarlos

Permite que las personas intervengan en el


reconocimiento de patrones
Relacionado con el rea de estadstica Anlisis
Exploratorio de Datos creada por John Tukey

Tipos de Atributos
Existen diferentes tipos de atributos o variables:
Categricos
Nmero finito de valores. No tienen orden.
Ejemplos: gnero, color de ojos, sucursales, rubro, variedad.

Numricos
Ordinales
Nmero finito o finito contable de valores. Tienen orden.
Ejemplos: puntuacin (del 1 al 10), rangos, altura (como alto,
medio y bajo).
Continuos
Nmeros reales
Ejemplos: importes, temperatura, fechas.

Exploracin de Datos Ejemplos sobre Iris


Utilizaremos el conjunto de datos Iris (del estadstico
Douglas Fisher) para ilustrar algunas de estas tcnicas.
Consiste de 150 muestras de tres tipos de flores Lirios, de
tres clases diferentes (50 muestras de cada clase):
Setosa
Virginica
Versicolour

Y cuatro atributos ms:


Sepal width and length
Petal width and length

Exploracin de datos - Medidas resumen

Exploracin de datos - Histogramas

Exploracin de datos Box plot


Diagramas de caja (box-plot).
Suministra informacin sobre los valores mnimo
y mximo, los cuartiles Q1, Q2 o mediana y Q3, y
sobre la existencia de valores atpicos y la
simetra de la distribucin.

Exploracin de datos Matriz de dispersin


(Scatter Plot)

Exploracin de datos Coordenadas Paralelas

Exploracin de datos Otros diagramas

Exploracin de datos Diagramas estrella

Exploracin de datos Caras de Chernoff

Exploracin de datos Anlisis OLAP

Preparacin de datos:
Seleccin, Limpieza y
Transformacin de Datos

Calidad de datos
Qu tipos de problemas de calidad podemos
encontrar?
Cmo podemos detectarlos en los datos?
Qu podemos hacer al respecto?

Ejemplos de problemas de calidad:


Valores anmalos (ruido y outliers)
Valores faltantes (missing values)
Datos duplicados

Calidad de Datos - Outliers


Los outliers son datos con caractersticas
considerablemente diferentes a la mayora de los
otros datos

Calidad de Datos Valores faltantes


Razones por las que existen faltantes
Los datos estn incompletos. No se dispone de informacin.
Porque provienen de la unin de diferentes fuentes
Porque las personas no quisieron dar esa informacin (edad,
peso, nivel de ingresos, nmero de telfono). En este caso
puede tener un significado oculto.
Hay atributos que pueden no ser aplicables en todos los casos
(ej: ingreso anual no es aplicable a nios, o consumo medio de
los ltimos 12 meses no es aplicable a clientes nuevos.)

Manejo de faltantes
Ignorarlos.
Eliminarlos (al atributo, o a los registros)
Reemplazarlos (por una categora faltante, media, todos los
valores segn sus probabilidades)
Estimarlos

Pre-procesamiento de Datos

Agregaciones
Muestreo
Reduccin de la dimensionalidad
Seleccin de conjunto de atributos
Creacin de atributos
Discretizacin
Transformacin de atributos

Ejemplo Muestreo

Ejemplo para tomar una muestra de testeo


(Realizado con Clementine v12.0 SPSS)

Reduccin de dimensionalidad Anlisis de


Componentes Principales
El objetivo es encontrar una proyeccin en un nuevo
espacio de autovectores que capture la mayor cantidad
de variabilidad en los datos
x2

x1

Ejemplo de ACP

(Grfico realizado con InfoStat)

Ejemplo de ACP Grficos en 3D

(Grficos realizado con JMP 8)

Seleccin de atributos

Transformacin de atributos
Ejemplo de transformacin aplicando funcin logaritmo

26

Discretizacin Ejemplo diferentes criterios

Discretizacin Ejemplo diferentes criterios

Discretizacin Ejemplo diferentes criterios

Discretizacin Diferentes criterios

Data

Equal frequency

Equal interval
width

K-means

Herramientas de software de DM ms destacadas


Licenciados:
SAS (Analytics, Enterprise Miner)
SPSS (IBM SPSS Statistics, IBM SPSS Modeler -ex
Clementine-)

Libres:
Weka (http://www.cs.waikato.ac.nz/ml/weka/)
R (http://www.r-project.org/)
Rapid Miner (http://rapid-i.com/)

Y muchos ms..
31

Prctica con Weka


Exploracin y
Pre-procesamiento de Datos

Introduccin a WEKA Explorer

Para comparar el
rendimiento predictivo
de los algoritmos de
aprendizaje
Interfaz basada en
componentes con
funcionalidad
similar al Explorer
Interfaz de lnea de
comando que emula
una terminal

WEKA Explorer Solapa Pre-procesamiento

Abrir un archivo

Exploracin del archivo y datos categricos

Exploracin de datos categricos


Archivo: weather.nominal.arff
(atributos nominales)

Preguntas:
Cuntos registros tiene el archivo?
Cuntas variables tiene?
Cules son los valores posibles para
humidity?
Cul es la distribucin de la clase?
Est balanceada?

Edit

Utilizar filtros en atributos


Remover un
atributo
Se aplica en
memoria
Se puede
guardar el
conj de datos
O deshacer

Utilizar filtros en los registros


Eliminar los casos con valor alto en el atributo humedad

Exploracin de datos numricos


Archivo: iris.arff (atributos numricos)

Solapa Visualizar

Visualizacin de datos

Visualizacin de datos

Ejemplo de creacin de variables


Agregar
ID a los
registros

Creacin de variables
Agregar una
nueva
expresin

Por ejemplo la relacin entre el largo


y en ancho del ptalo

Modificar el orden de los atributos


Por ejemplo para dejar la clase al final

Prctica con R
Exploracin y
Pre-procesamiento de Datos

Exploracin de datos de recorridos de


bicicletas

ecoBici BA: recorrido-bicis-2014.csv - 816.804 registros


http://data.buenosaires.gob.ar/dataset/bicicletas-publicas

Recorridos de bicicletas con R


rm(list=ls()) # Para eliminar todo lo que haya en memoria
# Definir el directorio de trabajo
setwd("C:/Users/Cecilia/Dropbox/UTN_DM/Bicicletas")
# Importar libreras
if(!require("sqldf")) install.packages("sqldf")
library(sqldf)
# Lectura de los datos
datos_bici <- read.table("recorrido-bicis-2014.csv", sep = ";", header = T)
# Inspeccionar el dataset
head(datos_bici)
str(datos_bici)
summary(datos_bici)
tail(datos_bici)

Exploracin datos bicicletas

Bicicletas. Formato de fechas


# Modificar origenfecha y destinofecha a formato de tiempo

datos_bici$origenfecha <- as.POSIXct(strptime(datos_bici$origenfecha,


"%Y-%m-%d %H:%M:%S"))
class(datos_bici$origenfecha)
class(datos_bici$destinofecha)
datos_bici$destinofecha <- as.POSIXct(strptime(datos_bici$destinofecha,
"%Y-%m-%d %H:%M:%S"))
# Recalcular el tiempo de uso

datos_bici$tiempouso <- as.numeric(datos_bici$destinofecha


datos_bici$origenfecha) / 60

Bicicletas. Ejemplos creacin de variables


# Calcular una variable que sea la fecha (sin la hora)
datos_bici$fecha <- as.Date(datos_bici$origenfecha)
# Armar una variable que sea da de la semana
datos_bici$wday <- format(datos_bici$origenfecha,"%w")
datos_bici$wday <- ifelse(datos_bici$wday == 0, "dom",
ifelse(datos_bici$wday == 1, "lun",
ifelse(datos_bici$wday == 2, "mar",
ifelse(datos_bici$wday == 3, "mie",
ifelse(datos_bici$wday == 4, "jue",
ifelse(datos_bici$wday == 5, "vie", "sab"))))))

# Variable indicando si se devuelve en la misma estacin


datos_bici$misma_estacion <- ifelse(datos_bici$origenestacionid ==
datos_bici$destinoestacionid, 1, 0)
# Variable fin de semana
datos_bici$fin_de_semana <- ifelse(datos_bici$wday %in% c("sab", "dom"), 1, 0)
table(datos_bici$fin_de_semana, datos_bici$wday)

Agregar datos del clima

(fuente:
ftp://ftp.ncdc.noaa.gov/pub/dat
a/gsod/2014/)

Agregar datos del clima con R


#Para agregar datos de temperatura

datos_temp <- read.table("datos_temp.tsv", sep = "\t", header = T)


#Y arreglar formato de fecha
datos_temp$YEARMODA <as.Date(as.POSIXct(strptime(datos_temp$YEARMODA, "%Y%m%d")))
#Unir los datos de temperatura a las datos de bicis
datos_bici <- sqldf("SELECT db.*, (dt.TEMP - 32.0) * 5.0/9.0 AS temp
FROM datos_bici AS db
LEFT JOIN datos_temp as dt
ON dt.YEARMODA = db.fecha")
# y adems se convierte la temperatura a C

Unir datos Ejemplo con otra herramienta

Ejemplo para agregar datos de clima a los de bicicletas utilizando


Data Integration de Pentaho
Tambin se puede utilizar esta herramienta para hacer el preprocesamiento de los datos (crear variables, etc )

Anlisis de los datos


# Tiempo de uso: promedio, mediana, distribucin...
mean(datos_bici$tiempouso)
median(datos_bici$tiempouso)
boxplot(datos_bici$tiempouso)
summary(datos_bici$tiempouso)
plot(density(datos_bici$tiempouso))
#quitemos outliers para visualizar mejor
datos_bici_ok <- datos_bici[datos_bici$tiempouso <= 300,]
boxplot(datos_bici_ok$tiempouso)
plot(density(datos_bici_ok$tiempouso))
boxplot(datos_bici_ok$tiempouso~datos_bici_ok$wday)

#variable para identificar outliers


datos_bici$outlier <- ifelse(datos_bici$tiempouso > 300, 1, 0)

Anlisis de los datos

Anlisis de los datos

Anlisis de los datos


> boxplot(datos_bici[datos_bici$tiempouso <=120,]$tiempouso~
datos_bici[datos_bici$tiempouso <=120,]$wday)

Anlisis de los datos


# y si miramos los outliers
summary(datos_bici$tiempouso[datos_bici$outlier==1])

boxplot(datos_bici$tiemp
ouso[datos_bici$outlier==
1]~datos_bici$wday[dato
s_bici$outlier==1])

Anlisis de los datos


# Veamos si el comportamiento es diferente segn el da de la semana
tapply(datos_bici$tiempouso, datos_bici$wday, mean) #?tapply
table(datos_bici$misma_estacion, datos_bici$wday)
tapply(datos_bici$misma_estacion, datos_bici$wday, mean)
tapply(datos_bici$outlier, datos_bici$wday, mean)
# Es ms comn o ms raro que se saque y se devuelva en la misma
estacin un fin de semana o no
tapply(datos_bici$misma_estacion, datos_bici$fin_de_semana, mean)

Anlisis de los datos


#cruce de origen y destino
table(datos_bici$nombreorigen, datos_bici$nombredestino)
# Relacin entre temperatura y tiempo de uso
plot(datos_bici_ok$temp, datos_bici_ok$tiempouso)
table(round(datos_bici_ok$temp), round(datos_bici_ok$tiempouso/10))
data_for_plot <- sqldf("SELECT AVG(tiempouso) AS tiempouso, AVG(temp)
AS temp, count(*) AS cant
FROM datos_bici
WHERE fin_de_semana = 0
GROUP BY fecha;")

plot(data_for_plot$temp, data_for_plot$cant)

Anlisis de los datos


data_for_plot2 <- sqldf("SELECT round(temp) AS temp, count(*) AS cant,
avg(tiempouso) as tiempoprom
FROM datos_bici_ok
WHERE fin_de_semana = 0
GROUP BY round(temp);")
head(data_for_plot2)

plot(data_for_plot2$temp, data_for_plot2$cant)
plot(data_for_plot2$temp, data_for_plot2$tiempoprom)

Anlisis de los datos

Visualizacin de recorrido de bicicletas

http://fineo.densitydesign.org/custom/vis/index.php
?tablename=set133397627554&submit=Visualize
http://digital.buenosaires.gob.ar/dataviz-transitoentre-las-estaciones-de-mejor-en-bici/

Otro ejemplo: Visualizacin de alquileres


de bicicletas segn horario y temperatura

Fuente: https://www.kaggle.com/users/993/benhamner/bike-sharing-demand/bike-rentals-bytime-and-temperature

Bibliografa y referencias
Pang-Ning Tan, Michael Steinbach, Vipin Kumar (2006)
Introduction to Data Mining, Ed. Pearson Addison Wesley
Hernndez Orallo, Jos, Ramrez Quintana, M. Jos, Ferri
Ramrez, Csar (2004) Introduccin a la minera de datos Ed.
Pearson Prentice Hall
Ian H. Witten, Eibe Frank (2009) Introduction to Data Mining,
New Zealand Digital Library Project.
Ian H. Witten, Eibe Frank, Mark A. Hall (2011) Data Mining,
Practical Machine Learning Tools and Techniques, third edition,
Ed. Elsevier
Crisp-DM (ftp://ftp.software.ibm.com/software/analytics/spss/
documentation/modeler/14.2/fr/CRISP-DM.pdf)

68

Referencias y material utilizado


Hall, Frank, Witten (2011) - Practical Data Mining
Tutorial 1: Introduction to the WEKA Explorer
Universidad de Waikato
Frank, Witten (2011) - Practical Data Mining Tutorial 2:
Nearest Neighbor Learning and Decision Trees
Universidad de Waikato

Material adicional utilizado


Material de presentaciones y cursos:
Maestra en Data Mining - UBA http://www2.dc.uba.ar/materias/mdmkd/index_1024.html
Jornadas de Data Mining UBA aos 2010 y 2011 http://www2.dc.uba.ar/materias/mdmkd/jadm/index_1024.html
Material anexo al libro de Tan, Steinbach y Kumar: http://wwwusers.cs.umn.edu/~kumar/dmbook/index.php
Orallo - cursos de Minera de Datos
Witten presentacin jornadas DM UBA 2011

Potrebbero piacerti anche