Minería de Grafos Multiobjetivo usando Algoritmos Evolutivos ...
Minería de datos de gran escala usando R
-
Upload
sergio-hernandez -
Category
Documents
-
view
1.995 -
download
0
Transcript of Minería de datos de gran escala usando R
Minerıa de datos de gran escala usando R
Minerıa de datos de gran escala usando R
Sergio HernandezPhD computer science
Laboratorio de Procesamiento de Informacion Geoespacial.Universidad Catolica del Maule. Chile
10 de Octubre 20123er Encuentro Regional de Software Libre
Minerıa de datos de gran escala usando R
Introduccion a R
Minerıa de datos
Figure : Aplicaciones de minerıa de datos
Minerıa de datos de gran escala usando R
Introduccion a R
Minerıa de datos
Figure : Acciones de minerıa de datos
Minerıa de datos de gran escala usando R
Introduccion a R
Minerıa de datos
Figure : Algoritmos de minerıa de datos
Minerıa de datos de gran escala usando R
Introduccion a R
Que es R?
R es un lenguaje y un ambiente de computacion estadıstica creadopor Ross Ihaka y Robert Gentleman de la Universidad de Aucklanden Nueva Zelandia y es distribuido bajo licencia GNU General PublicLicense.
La sintaxis del lenguaje R proviene del lenguaje S creado por AT&TLabs y desarrollado en el software comercial S Plus. El lenguaje esorientado a objetos e interpretado, por lo tanto permite al usuario“interactuar” con la linea de comandos, al mismo tiempo que creagraficos vectoriales de alta calidad.
Minerıa de datos de gran escala usando R
Introduccion a R
Que es R?
R es un lenguaje y un ambiente de computacion estadıstica creadopor Ross Ihaka y Robert Gentleman de la Universidad de Aucklanden Nueva Zelandia y es distribuido bajo licencia GNU General PublicLicense.
La sintaxis del lenguaje R proviene del lenguaje S creado por AT&TLabs y desarrollado en el software comercial S Plus. El lenguaje esorientado a objetos e interpretado, por lo tanto permite al usuario“interactuar” con la linea de comandos, al mismo tiempo que creagraficos vectoriales de alta calidad.
Minerıa de datos de gran escala usando R
Introduccion a R
Como se obtiene R?
Las fuentes, binarios y documentacion de R se obtiene mediante unacoleccion de mirrors llamada CRAN(http://CRAN.R-project.org/).
El codigo fuente es accesible directamente desde el servidorSubversion : https://svn.r-project.org/R/.
Los binarios estan disponibles para plataformas ix86 y x86 64 y parasistemas operativos Windows, Linux y Mac OS.
Mirror en Chile : http://dirichlet.mat.puc.cl/
Minerıa de datos de gran escala usando R
Introduccion a R
Como se obtiene R?
Las fuentes, binarios y documentacion de R se obtiene mediante unacoleccion de mirrors llamada CRAN(http://CRAN.R-project.org/).
El codigo fuente es accesible directamente desde el servidorSubversion : https://svn.r-project.org/R/.
Los binarios estan disponibles para plataformas ix86 y x86 64 y parasistemas operativos Windows, Linux y Mac OS.
Mirror en Chile : http://dirichlet.mat.puc.cl/
Minerıa de datos de gran escala usando R
Introduccion a R
Como se obtiene R?
Las fuentes, binarios y documentacion de R se obtiene mediante unacoleccion de mirrors llamada CRAN(http://CRAN.R-project.org/).
El codigo fuente es accesible directamente desde el servidorSubversion : https://svn.r-project.org/R/.
Los binarios estan disponibles para plataformas ix86 y x86 64 y parasistemas operativos Windows, Linux y Mac OS.
Mirror en Chile : http://dirichlet.mat.puc.cl/
Minerıa de datos de gran escala usando R
Introduccion a R
Como se obtiene R?
Las fuentes, binarios y documentacion de R se obtiene mediante unacoleccion de mirrors llamada CRAN(http://CRAN.R-project.org/).
El codigo fuente es accesible directamente desde el servidorSubversion : https://svn.r-project.org/R/.
Los binarios estan disponibles para plataformas ix86 y x86 64 y parasistemas operativos Windows, Linux y Mac OS.
Mirror en Chile : http://dirichlet.mat.puc.cl/
Minerıa de datos de gran escala usando R
Introduccion a R
Hola Mundo.R
> x<-1
> class(x)
[1] "numeric"
> s<-"hola mundo"
> class(s)
[1] "character"
> s
[1] "hola mundo"
Minerıa de datos de gran escala usando R
R para minerıa de datos de gran escala
Por que usar R para minerıa de datos?
R es un entorno de computacion estadıstica de alta calidaddisponible de manera gratuita para multiples plataformas.
Gran parte de las funciones estadısticas y matematicas que usan losalgoritmos de minerıa de datos forman parte de la distribucion basede R.
Existe una gran comunidad de usuarios y una plataforma dedicada(http://r-forge.r-project.org/softwaremap/tag_cloud.php?tag=data+mining) para compartir codigo, paquetes,documentacion, etc. etc.
Minerıa de datos de gran escala usando R
R para minerıa de datos de gran escala
Por que usar R para minerıa de datos?
R es un entorno de computacion estadıstica de alta calidaddisponible de manera gratuita para multiples plataformas.
Gran parte de las funciones estadısticas y matematicas que usan losalgoritmos de minerıa de datos forman parte de la distribucion basede R.
Existe una gran comunidad de usuarios y una plataforma dedicada(http://r-forge.r-project.org/softwaremap/tag_cloud.php?tag=data+mining) para compartir codigo, paquetes,documentacion, etc. etc.
Minerıa de datos de gran escala usando R
R para minerıa de datos de gran escala
Por que usar R para minerıa de datos?
R es un entorno de computacion estadıstica de alta calidaddisponible de manera gratuita para multiples plataformas.
Gran parte de las funciones estadısticas y matematicas que usan losalgoritmos de minerıa de datos forman parte de la distribucion basede R.
Existe una gran comunidad de usuarios y una plataforma dedicada(http://r-forge.r-project.org/softwaremap/tag_cloud.php?tag=data+mining) para compartir codigo, paquetes,documentacion, etc. etc.
Minerıa de datos de gran escala usando R
R para minerıa de datos de gran escala
Por que NO usar R para minerıa de datos?
R fue creado en el ano 1995 cuando el espacio en disco duro y lamemoria RAM eran mucho mas costosos que hoy en dıa.
Particularmente, R adolece de los siguientes problemas:
No es multi-hilo por lo tanto no puede usar las arquitecturasmodernas multi-core o CPUs multiples.El tamano de los datos analizados tiene que ajustarse a la RAM de lamaquina.
Minerıa de datos de gran escala usando R
R para minerıa de datos de gran escala
Por que NO usar R para minerıa de datos?
R fue creado en el ano 1995 cuando el espacio en disco duro y lamemoria RAM eran mucho mas costosos que hoy en dıa.
Particularmente, R adolece de los siguientes problemas:
No es multi-hilo por lo tanto no puede usar las arquitecturasmodernas multi-core o CPUs multiples.El tamano de los datos analizados tiene que ajustarse a la RAM de lamaquina.
Minerıa de datos de gran escala usando R
R paralelo
Hablando R en paralelo
Actualmente existen diversas estrategias basadas en computoparalelo para vencer las deficiencias de R para bases de datos degran escala.
El computo paralelo no requiere necesariamente supercomputadoras,sino que tambien puede hacerse en maquinas de memoria compartida(multicore) o distribuida (clusters). Estas estrategias se basan en:
Dividir una tarea grande en varias mas pequenas y distribuirlas envarias CPUs.Particionar el conjunto de datos de manera que cada grupo puedaajustarse a la RAM de la(s) maquina.
Minerıa de datos de gran escala usando R
R paralelo
Hablando R en paralelo
Actualmente existen diversas estrategias basadas en computoparalelo para vencer las deficiencias de R para bases de datos degran escala.
El computo paralelo no requiere necesariamente supercomputadoras,sino que tambien puede hacerse en maquinas de memoria compartida(multicore) o distribuida (clusters). Estas estrategias se basan en:
Dividir una tarea grande en varias mas pequenas y distribuirlas envarias CPUs.Particionar el conjunto de datos de manera que cada grupo puedaajustarse a la RAM de la(s) maquina.
Minerıa de datos de gran escala usando R
R paralelo
Hablando R en paralelo
Actualmente existen diversas estrategias basadas en computoparalelo para vencer las deficiencias de R para bases de datos degran escala.
El computo paralelo no requiere necesariamente supercomputadoras,sino que tambien puede hacerse en maquinas de memoria compartida(multicore) o distribuida (clusters). Estas estrategias se basan en:
Dividir una tarea grande en varias mas pequenas y distribuirlas envarias CPUs.
Particionar el conjunto de datos de manera que cada grupo puedaajustarse a la RAM de la(s) maquina.
Minerıa de datos de gran escala usando R
R paralelo
Hablando R en paralelo
Actualmente existen diversas estrategias basadas en computoparalelo para vencer las deficiencias de R para bases de datos degran escala.
El computo paralelo no requiere necesariamente supercomputadoras,sino que tambien puede hacerse en maquinas de memoria compartida(multicore) o distribuida (clusters). Estas estrategias se basan en:
Dividir una tarea grande en varias mas pequenas y distribuirlas envarias CPUs.Particionar el conjunto de datos de manera que cada grupo puedaajustarse a la RAM de la(s) maquina.
Minerıa de datos de gran escala usando R
R paralelo
Snow
El paquete snow (Simple Network of Workstations) permite usar uncluster tradicional tipo Beowulf para realizar tareas vergonzosamenteparalelas.
snow usa una arquitectura maestro/esclavo, donde el maestro envıatrabajos a los esclavos y luego de realizado, los esclavos devuelvenlos resultados al maestro.
Puede usar diferentes medios de transporte para comunicar elmaestro con los esclavos, lo cual lo hace altamente portable. Masespecıficamente, es posible utilizar sockets, MPI (message passageinterface), PVM (parallel virtual machines) o NetWorkSpaces.
Minerıa de datos de gran escala usando R
R paralelo
Snow
El paquete snow (Simple Network of Workstations) permite usar uncluster tradicional tipo Beowulf para realizar tareas vergonzosamenteparalelas.
snow usa una arquitectura maestro/esclavo, donde el maestro envıatrabajos a los esclavos y luego de realizado, los esclavos devuelvenlos resultados al maestro.
Puede usar diferentes medios de transporte para comunicar elmaestro con los esclavos, lo cual lo hace altamente portable. Masespecıficamente, es posible utilizar sockets, MPI (message passageinterface), PVM (parallel virtual machines) o NetWorkSpaces.
Minerıa de datos de gran escala usando R
R paralelo
Snow
El paquete snow (Simple Network of Workstations) permite usar uncluster tradicional tipo Beowulf para realizar tareas vergonzosamenteparalelas.
snow usa una arquitectura maestro/esclavo, donde el maestro envıatrabajos a los esclavos y luego de realizado, los esclavos devuelvenlos resultados al maestro.
Puede usar diferentes medios de transporte para comunicar elmaestro con los esclavos, lo cual lo hace altamente portable. Masespecıficamente, es posible utilizar sockets, MPI (message passageinterface), PVM (parallel virtual machines) o NetWorkSpaces.
Minerıa de datos de gran escala usando R
R paralelo
Hola Mundo paralelo usando Snow
> library(snow)> cl <- makeCluster(4, type="MPI")Loading required package: Rmpi4 slaves are spawned successfully. 0 failed.> mpi.remote.exec(paste("Hola Mundo CPU #",mpi.comm.rank(),"of",mpi.comm.size()))$slave1[1] "Hola Mundo CPU # 1 de 4"$slave2[1] "Hola Mundo CPU # 2 de 4"$slave3[1] "Hola Mundo CPU # 3 de 4"$slave4[1] "Hola Mundo CPU # 4 de 4"
Minerıa de datos de gran escala usando R
R paralelo
Clustering usando k-means
Sepal.Length
2.0 2.5 3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5
4.5
5.5
6.5
7.5
2.02.53.03.54.0
Sepal.Width
Petal.Length
12
34
56
7
4.5 5.5 6.5 7.5
0.51.01.52.02.5
1 2 3 4 5 6 7
Petal.Width
Edgar Anderson's Iris Data
Figure : Aplicaciones de minerıa de datos
Minerıa de datos de gran escala usando R
R paralelo
K-means paralelo usando Snow
Table : Tiempo de ejecucion del algoritmo K-means con puntos de partidaaleatorios
# Puntos Secuencial [s] Paralelo [s]1e2 0.016 0.0091e3 0.126 0.1171e4 1.010 0.301
1e6 (4 trabajos) 108.704 28.3631e6 (10 trabajos) 108.704 35.642
Minerıa de datos de gran escala usando R
R paralelo
Balanceo de carga con snow
0 5 10 15 20 25
Elapsed Time
Nod
e
01
23
4
Cluster Usage
Figure : 4 trabajos con 250.000 tareas
Minerıa de datos de gran escala usando R
R paralelo
Balanceo de carga con snow
0 5 10 15 20 25 30 35
Elapsed Time
Nod
e
01
23
4
Cluster Usage
Figure : 10 trabajos con 100.000 tareas
Minerıa de datos de gran escala usando R
Open Data + Visualization
R+Open Data
La filosofıa Open Data1 busca hacer disponibles algunos datos deinteres pubico hacia la comunidad mediante APIs y protocolosespecializados.
Esta iniciativa busca transparentar las polıticas publicas a traves debuenas practicas que permitan el acceso expedito, seguro y eficientede los datos.
Por otra parte, existe una variedad de dispositivos de monitoreo quegeneran un gran volumen de datos georeferenciados en tiempo real(clima, salud, calidad del aire) que pueden ser combinados yreutilizados para diferentes aplicaciones.
1http://www.opendatafoundation.org/
Minerıa de datos de gran escala usando R
Open Data + Visualization
R+Open Data
La filosofıa Open Data1 busca hacer disponibles algunos datos deinteres pubico hacia la comunidad mediante APIs y protocolosespecializados.
Esta iniciativa busca transparentar las polıticas publicas a traves debuenas practicas que permitan el acceso expedito, seguro y eficientede los datos.
Por otra parte, existe una variedad de dispositivos de monitoreo quegeneran un gran volumen de datos georeferenciados en tiempo real(clima, salud, calidad del aire) que pueden ser combinados yreutilizados para diferentes aplicaciones.
1http://www.opendatafoundation.org/
Minerıa de datos de gran escala usando R
Open Data + Visualization
R+Open Data
La filosofıa Open Data1 busca hacer disponibles algunos datos deinteres pubico hacia la comunidad mediante APIs y protocolosespecializados.
Esta iniciativa busca transparentar las polıticas publicas a traves debuenas practicas que permitan el acceso expedito, seguro y eficientede los datos.
Por otra parte, existe una variedad de dispositivos de monitoreo quegeneran un gran volumen de datos georeferenciados en tiempo real(clima, salud, calidad del aire) que pueden ser combinados yreutilizados para diferentes aplicaciones.
1http://www.opendatafoundation.org/
Minerıa de datos de gran escala usando R
Open Data + Visualization
Proyecto Agrosense
Figure : Sensores inalambricos
Minerıa de datos de gran escala usando R
Open Data + Visualization
Proyecto Agrosense
2012−07−20 2012−07−27 2012−08−03 2012−08−12 2012−09−25
Humedad del Suelo nivel 1: nodo 1
Dia
Ce
ntib
are
s
05
01
00
15
02
00
25
03
00
2012−07−20 2012−07−27 2012−08−03 2012−08−12 2012−09−25
Humedad del Suelo nivel 2: nodo 1
Dia
Ce
ntib
are
s
05
01
00
15
02
00
25
03
00
2012−07−20 2012−07−27 2012−08−03 2012−08−12 2012−09−25
Humedad del Suelo nivel 3: nodo 1
Dia
Ce
ntib
are
s
05
01
00
15
02
00
25
03
00
Figure : Sensores humedad del suelo en sector Punta de Diamante en lacomuna de San Clemente
Minerıa de datos de gran escala usando R
Open Data + Visualization
Proyecto Agrosense
Figure : Visualizacion en Google Earth
Minerıa de datos de gran escala usando R
Open Data + Visualization
Proyecto Agrosense
Figure : Visualizacion en Google Earth
Minerıa de datos de gran escala usando R
Open Data + Visualization
Preguntas + Sugerencias?