fundamentos de data mining con r
TRANSCRIPT
“Fundamentos de Data Mining con R” .
www.sgcampus.com.mx
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
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.
Minería de Datos
• Minería de Datos, Inteligencia de Negocios y Sistemas de soporte.
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.
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,.
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.
Herramientas de Data Mining
Herramientas y requerimientos para Minería de datos
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
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
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)]
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")
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)
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)]
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")
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)
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.
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.
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""[email protected]"[email protected] "[email protected]