En esta plática se dará un breve repaso sobre el enfoque de los modelos de la Minería de Datos, Inteligencia de Negocios y Sistemas de soporte.
Se indicará como utilizar algunos recursos para aprender de manera autodidacta, los recursos que existen en torno a la minería, incluyendo el acceso a bases de datos. El participante podrá aprender algunos atajos para la descarga y lectura de archivos, limpieza básica y extracción de datos, así como algunas técnicas de minería de datos.
2. Temario
1. Minería de Datos
2. Herramientas y requerimientos para Minería de datos
a) R
b) RStudio
c) Shiny
d) Miktex
3. Auto-aprendizaje utilizando el lenguaje R.
4. Modelos, técnicas y funciones.
a) acceso a datos.
b) Descarga
c) lectura de archivos
d) Limpieza básica
e) Extracción de datos
f) Técnicas y minería de datos
5. Conclusiones
6. Referencias
3. Objetivo
El participante conocerá algunos conceptos
fundamentales de la Minería de Datos a partir del uso de
funciones y paquetes del lenguaje R, para facilitar tanto
su comprensión y manejo del lenguaje, como de la
minería de datos, sus modelos y técnicas.
4. Minería de Datos
• Minería de Datos, Inteligencia de Negocios y
Sistemas de soporte.
5. Minería de Datos
En
la
figura,
se
muestra
el
nivel
de
anidación
de
cada
elemento
del
universo,
donde
se
enmarca
la
minería
de
datos:
un
entorno
o
ambiente
general,
en
el
que
se
sitúa
el
Sistema
de
Soporte
para
la
toma
de
Decisiones
(Decision
Support
Systems),
en
cuyo
seno
se
diseñan,
conforman,
administran,
y
dirigen
los
negocios,
mismos
que
crean
las
bases
de
datos
de
las
cuales
se
aplicará
la
Inteligencia
de
Negocios(Bussines
Intelligence),
para
que
emerja
el
KDD
(Knowledge
Discovery
Data),
que
sigue
una
serie
de
pasos
o
procesos
entre
los
que
destaca
el
DM
(Data
Mining),
herramienta
informáMca
del
KDD
en
la
cual
se
aplican
métodos
inteligentes
para
extraer
patrones
de
datos
(Han
&
Kamber,
2006).
Minería de Datos, Inteligencia de Negocios y
Sistemas de soporte.
6. Minería de Datos
Existen
cuatro
metodologías:
1.-‐
SEMMA,
2.-‐
KDD
Roadmap,
3.-‐
RAMSYS,
y
4.-‐
DMIE.
Finalmente,
CRISP-‐DM
es
un
modelo
con
un
fuerte
componente
metodológico
(Marbán,
Mariscal,
&
Segovia,
2009).
Metodologías en Minería de Datos,.
7. Minería de Datos
Tipologías de la Minería de Datos
La
Minería
de
Datos
es:
‘…Extracción
no
trivial
de
información
implícita,
previamente
desconocida
y
potencialmente
úMl
a
parMr
de
datos.”.
Existen
algoritmos
tanto
de
aprendizaje
supervisado,
como
de
aprendizaje
no
supervisado
cuyo
conocimiento
y
opMmización
facilita
el
descubrimiento
o
reconocimiento
de
patrones,
a
través
de
la
clasificación
y
la
predicción.
En
la
MDD,
algunas
variables
son
señaladas
como
el
objeMvo
y
existen
datos
sobre
su
desMno,
mientras
que
en
la
MDI,
no
destaca
ninguna
variable
como
un
objeMvo,
pues
la
meta
es
descubrir
algún
Mpo
de
relación
entre
todas
las
variables.
9. Auto-aprendizaje mediante R.
Requerimientos para el auto-aprendizaje
a) Después de instalas las herramientas R , Rstudio, Shiny, Miktex, deberá continuar
con la instalación de algunos paquetes adicionales, tales como rmarkdown,
laticce, knitr, etc., los cuales podrá ir siguiendo durante la presentación.
b) En esta primera parte les recomiendo el paquete swirl, install.packages(“swirl"),
después d edla instalación deberás escribir library(swirl) para poder utilizarlo.
c) Después de instalarlo deberán abrirlo a fin de poder obtener información básica,
pero podemos empezar a trabajar con él. En este caso, si no sabes mucho sobre
matrices te recomiendo el primer modulo, de otra forma, toma el segundo
modulo sobre modelos de regresión. Un buen repaso a nadie le perjudica
10. Modelos, técnicas y funciones
• R
en
acción
a) acceso a datos.
b) Descarga
c) lectura de archivos
d) Limpieza básica
e) Extracción de datos
f) Técnicas y minería de datos
11. Modelos, técnicas y funciones
• Ejemplos
a) acceso a datos.
library(XML)
url<-‐
'hgp://en.wikipedia.org/wiki/World_populaMon'
tbls
<-‐readHTMLTable
(url)
length(tbls)
tbl
<-‐readHTMLTable
(url,which=4)
tbl[,c(1:3,5)]
12. Modelos, técnicas y funciones
• R
en
acción
Descarga
# fileUrl <- "link?accessType=DOWNLOAD"
if(!file.exists(".UCI_HAR_Dataset")){dir.create("./UCI_HAR_Dataset")}
fileUrl <- "https://d396qusza40orc.cloudfront.net/getdata%2Fprojectfiles%2FUCI%20HAR%20Dataset.zip?accessType=DOWNLOAD"
# download.file(fileUrl, destfile = "directorio/nombre_archivo.csv", method = "curl")
download.file(fileUrl, destfile = "/Users/administrador/Specialization/UCI_HAR_Dataset/UCI_HAR_Dataset.zip", method = "curl”)
list.files("../Specialization")
dateDownloaded <- date()
dateDownloaded
### Step two
# Unzziped the file
# Set working directory setwd()
# Unzipped the data set in 'UCI_HAR_Dataset'
# The dataset directory is same as this script.
setwd("../Specialization/UCI_HAR_Dataset")
13. Modelos, técnicas y funciones
• R
en
acción
lectura de archivos
#
Package
Check
and
Install
library(reshape2)
#
or
pkg
<-‐
"reshape2"
if
(!require(pkg,
character.only
=
TRUE))
{
install.packages(pkg)
if
(!require(pkg,
character.only
=
TRUE))
stop(paste("Load
failure:
",
pkg))
}
#
Read
dataset
acMviMes
<-‐
read.table(paste0(dataBaseDirectory,
"acMvity_labels.txt"),
header=FALSE,
stringsAsFactors=FALSE)
features
<-‐
read.table(paste0(dataBaseDirectory,
"features.txt"),
header=FALSE,
stringsAsFactors=FALSE)
14. Modelos, técnicas y funciones
• R
en
acción
lectura de archivos
# Import and prepare the test Data
subject_test <- read.table(paste0(dataTestDirectory, "subject_test.txt"), header=FALSE)
x_test <- read.table(paste0(dataTestDirectory, "X_test.txt"), header=FALSE)
y_test <- read.table(paste0(dataTestDirectory, "y_test.txt"), header=FALSE)
tmp <- data.frame(Activity = factor(y_test$V1, labels = activities$V2))
testData <- cbind(tmp, subject_test, x_test)
# Import and prepare the train Data
subject_train <- read.table(paste0(dataTrainDirectory, "subject_train.txt"), header=FALSE)
x_train <- read.table(paste0(dataTrainDirectory, "X_train.txt"), header=FALSE)
y_train <- read.table(paste0(dataTrainDirectory, "y_train.txt"), header=FALSE)
tmp <- data.frame(Activity = factor(y_train$V1, labels = activities$V2))
trainData <- cbind(tmp, subject_train, x_train)
# Tidy Data
testTidyData <- rbind(testData, trainData)
names(testTidyData) <- c("Activity", "Subject", features[,2])
select <- features$V2[grep("mean()|std()", features$V2)]
tidyData <- testTidyData[c("Activity", "Subject", select)]
15. Modelos, técnicas y funciones
• R
en
acción
Extracción de datos
# Write Tidy Data to Disk
write.table(tidyData, file="./tidyData.txt", row.names=FALSE)
# Tidy Data Average/Activity. Melt and Cast.
tidyData_Melt <- melt(tidyData, id=c("Activity", "Subject"), measure.vars=select)
tidyData_Mean <- dcast(tidyData_Melt, Activity + Subject ~ variable, mean)
# Write Tidy Average Data
write.table(tidyData_Mean, file="./tidyAverageData.txt", row.names=FALSE)
message(" DONE")
16. Modelos, técnicas y funciones
• R
en
acción
Limpieza básica
microdataSurvey <- read.table("/Users/administrador/Specialization/microdataSurvey.csv", sep = ",", header = TRUE)
head(microdataSurvey)
# Extraer solamente la columna que me interesa
propertyValue <- microdataSurvey[,c(37)]
propertyValue
# Limpiar datos
ld = complete.cases(propertyValue)
propertyValue = propertyValue[ld]
propertyValue
# Utilizo el comando which para saber cuáles índices del vector o columna cumplen con una condición lógica
which(propertyValue >= 24)
# Asigno el resultado a un vector
mayorValue <- which(propertyValue >= 24)
# Extraigo el resultado o la cantidad de casos que cumplen con la condición
length(mayorValue)
17. Conclusiones
Ante
la
pregunta
de
que
herramienta
es
mejor
para
trabajar
con
Minería
de
Datos,tendré
que
responder
que
aquella
que
les
facilite
más
su
propio
trabajo
y
comprensión
sobre
lo
que
están
haciendo,
Matlab
es
una
buena
opción
pero
Mene
un
costo,
Octave,
es
open
source
pero
conlleva
un
poco
más
de
trabajo,
R
es
una
herramienta
formidable,
pero
como
podrán
notar
exige
cierto
dominio
de
programación
y
sobre
todo
mucho
interés,
teniendo
en
cuenta
que
en
Minería
de
datos
lo
importante
no
son
los
datos,
sino
la
pregunta
que
se
quiere
responder.
18. Referencias
1. Paradis, E.: R para Principiantes, The Comprehensive R Archive Networkhttp://cran.rproject.org/doc/
contrib/rdebuts_es.pdf (2003). Accedido el 26 de marzo de 2014.
2. Sauter, V.L.: Decision Support Systems for Business Intelligence. John Wiley & Sons (2010).
3. Gilchrist, M.; Lehmann, D.; Skrubbeltrang, G.;Vachon, F.: Knowledge Discovery in Databases for
Competitive Advantage. Journal of Management and Strategy, Vol. 3, No. 2, pp. 2-15 (2012).
4. Jiawei, H.; Kamber, M.: Data Mining: Concepts and Techniques. Elsevier (2006).
5. Marbán, O.; Mariscal, G.; Segovia, J.: A Data Mining & Knowledge DiscoveryProcess Model. Ponce,
J.; Karahoca, A.: En Data Mining and Knowledge Discovery in Real Life Applications, I-Tech
Education and Publishing, pp. 1-17 (2009).
6. Torgo, L.: Data Mining with R: Learning with case studies. CRC Press Taylor &Francis Group (2011).
7. Chapman, P.; Clinton, J.; Kerber, R.; Khabaza, T.; Reinartz, T.; Thomas, C.; Wirth, R.: CRISP-DM 1.0
Step-by-step data mining guide. CRISP-DM Consortium,
8. ftp://ftp.software.ibm.com/software/analytics/spss/support/Modeler/Documentation/14/User Manual/
CRISP-DM.pdf (2000). Accedido el 17 de Noviembre de 2013.
19. Datos
de
contacto
"
GRACIAS POR SU ATENCIÓN"
"
"
Rafael Reséndiz Ramírez"
Instituto de Ingeniería"
Universidad Autónoma de Baja California"
"
Calle de la Norma s/n y Blvd Benito Juárez, "
Col. Insurgentes Este. C.P. 21280"
Mexicali, Baja California, México"
"
rafael.resendiz@uabc.edu.mx"
rafael.resendiz@educacionbc.edu.mx "
rafaresend@gmail.com