Miner´ de datos de gran escala usando R
     ıa




                     Miner´ de datos de gran escala usando R
                          ıa

                                                  Sergio Hern´ndez
                                                             a
                                                PhD computer science

                                   Laboratorio de Procesamiento de Informaci´n Geoespacial.
                                                                             o
                                             Universidad Cat´lica del Maule. Chile
                                                            o
                                                      shernandez@ucm.cl


                                              10 de Octubre 2012
                                    3er Encuentro Regional de Software Libre
Miner´ de datos de gran escala usando R
     ıa
   Introducci´n a R
             o




Miner´ de datos
     ıa




                                          Figure : Aplicaciones de miner´ de datos
                                                                        ıa
Miner´ de datos de gran escala usando R
     ıa
   Introducci´n a R
             o




Miner´ de datos
     ıa




                                          Figure : Acciones de miner´ de datos
                                                                    ıa
Miner´ de datos de gran escala usando R
     ıa
   Introducci´n a R
             o




Miner´ de datos
     ıa




                                          Figure : Algoritmos de miner´ de datos
                                                                      ıa
Miner´ de datos de gran escala usando R
     ıa
   Introducci´n a R
             o




Qu´ es R?
  e



                R es un lenguaje y un ambiente de computaci´n estad´
                                                              o      ıstica creado
                por Ross Ihaka y Robert Gentleman de la Universidad de Auckland
                en Nueva Zelandia y es distribuido bajo licencia GNU General Public
                License.
Miner´ de datos de gran escala usando R
     ıa
   Introducci´n a R
             o




Qu´ es R?
  e



                R es un lenguaje y un ambiente de computaci´n estad´
                                                               o       ıstica creado
                por Ross Ihaka y Robert Gentleman de la Universidad de Auckland
                en Nueva Zelandia y es distribuido bajo licencia GNU General Public
                License.
                La sintaxis del lenguaje R proviene del lenguaje S creado por AT&T
                Labs y desarrollado en el software comercial S Plus. El lenguaje es
                orientado a objetos e interpretado, por lo tanto permite al usuario
                “interactuar” con la linea de comandos, al mismo tiempo que crea
                gr´ficos vectoriales de alta calidad.
                  a
Miner´ de datos de gran escala usando R
     ıa
   Introducci´n a R
             o




C´mo se obtiene R?
 o



                Las fuentes, binarios y documentaci´n de R se obtiene mediante una
                                                   o
                colecci´n de mirrors llamada CRAN
                       o
                (http://CRAN.R-project.org/).
Miner´ de datos de gran escala usando R
     ıa
   Introducci´n a R
             o




C´mo se obtiene R?
 o



                Las fuentes, binarios y documentaci´n de R se obtiene mediante una
                                                   o
                colecci´n de mirrors llamada CRAN
                       o
                (http://CRAN.R-project.org/).
                El c´digo fuente es accesible directamente desde el servidor
                    o
                Subversion : https://svn.r-project.org/R/.
Miner´ de datos de gran escala usando R
     ıa
   Introducci´n a R
             o




C´mo se obtiene R?
 o



                Las fuentes, binarios y documentaci´n de R se obtiene mediante una
                                                   o
                colecci´n de mirrors llamada CRAN
                       o
                (http://CRAN.R-project.org/).
                El c´digo fuente es accesible directamente desde el servidor
                    o
                Subversion : https://svn.r-project.org/R/.
                Los binarios est´n disponibles para plataformas ix86 y x86 64 y para
                                a
                sistemas operativos Windows, Linux y Mac OS.
Miner´ de datos de gran escala usando R
     ıa
   Introducci´n a R
             o




C´mo se obtiene R?
 o



                Las fuentes, binarios y documentaci´n de R se obtiene mediante una
                                                   o
                colecci´n de mirrors llamada CRAN
                       o
                (http://CRAN.R-project.org/).
                El c´digo fuente es accesible directamente desde el servidor
                    o
                Subversion : https://svn.r-project.org/R/.
                Los binarios est´n disponibles para plataformas ix86 y x86 64 y para
                                a
                sistemas operativos Windows, Linux y Mac OS.
                Mirror en Chile : http://dirichlet.mat.puc.cl/
Miner´ de datos de gran escala usando R
     ıa
   Introducci´n a R
             o




Hola Mundo.R



        > x<-1
        > class(x)
        [1] "numeric"
        > s<-"hola mundo"
        > class(s)
        [1] "character"
        > s
        [1] "hola mundo"
Miner´ de datos de gran escala usando R
     ıa
   R para miner´ de datos de gran escala
               ıa




Por qu´ usar R para miner´ de datos?
      e                  ıa



                R es un entorno de computaci´n estad´
                                             o       ıstica de alta calidad
                disponible de manera gratuita para m´ltiples plataformas.
                                                    u
Miner´ de datos de gran escala usando R
     ıa
   R para miner´ de datos de gran escala
               ıa




Por qu´ usar R para miner´ de datos?
      e                  ıa



                R es un entorno de computaci´n estad´
                                             o       ıstica de alta calidad
                disponible de manera gratuita para m´ltiples plataformas.
                                                    u
                Gran parte de las funciones estad´
                                                 ısticas y matem´ticas que usan los
                                                                a
                algoritmos de miner´ de datos forman parte de la distribuci´n base
                                    ıa                                     o
                de R.
Miner´ de datos de gran escala usando R
     ıa
   R para miner´ de datos de gran escala
               ıa




Por qu´ usar R para miner´ de datos?
      e                  ıa



                R es un entorno de computaci´n estad´
                                             o       ıstica de alta calidad
                disponible de manera gratuita para m´ltiples plataformas.
                                                    u
                Gran parte de las funciones estad´
                                                 ısticas y matem´ticas que usan los
                                                                a
                algoritmos de miner´ de datos forman parte de la distribuci´n base
                                    ıa                                     o
                de 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 c´digo, paquetes,
                                                        o
                documentaci´n, etc. etc.
                            o
Miner´ de datos de gran escala usando R
     ıa
   R para miner´ de datos de gran escala
               ıa




Por qu´ NO usar R para miner´ de datos?
      e                     ıa




                R fue creado en el a˜o 1995 cuando el espacio en disco duro y la
                                    n
                memoria RAM eran mucho m´s costosos que hoy en d´
                                             a                       ıa.
Miner´ de datos de gran escala usando R
     ıa
   R para miner´ de datos de gran escala
               ıa




Por qu´ NO usar R para miner´ de datos?
      e                     ıa




                R fue creado en el a˜o 1995 cuando el espacio en disco duro y la
                                    n
                memoria RAM eran mucho m´s costosos que hoy en d´
                                             a                        ıa.
                Particularmente, R adolece de los siguientes problemas:
                         No es multi-hilo por lo tanto no puede usar las arquitecturas
                         modernas multi-core o CPUs m´ltiples.
                                                         u
                         El tama˜o de los datos analizados tiene que ajustarse a la RAM de la
                                n
                         m´quina.
                           a
Miner´ de datos de gran escala usando R
     ıa
   R paralelo




Hablando R en paralelo



                Actualmente existen diversas estrategias basadas en computo
                paralelo para vencer las deficiencias de R para bases de datos de
                gran escala.
Miner´ de datos de gran escala usando R
     ıa
   R paralelo




Hablando R en paralelo



                Actualmente existen diversas estrategias basadas en computo
                paralelo para vencer las deficiencias de R para bases de datos de
                gran escala.
                El c´mputo paralelo no requiere necesariamente supercomputadoras,
                    o
                sino que tambi´n puede hacerse en m´quinas de memoria compartida
                               e                       a
                (multicore) o distribuida (clusters). Estas estrategias se basan en:
Miner´ de datos de gran escala usando R
     ıa
   R paralelo




Hablando R en paralelo



                Actualmente existen diversas estrategias basadas en computo
                paralelo para vencer las deficiencias de R para bases de datos de
                gran escala.
                El c´mputo paralelo no requiere necesariamente supercomputadoras,
                    o
                sino que tambi´n puede hacerse en m´quinas de memoria compartida
                               e                       a
                (multicore) o distribuida (clusters). Estas estrategias se basan en:
                         Dividir una tarea grande en varias m´s peque˜as y distribuirlas en
                                                             a       n
                         varias CPUs.
Miner´ de datos de gran escala usando R
     ıa
   R paralelo




Hablando R en paralelo



                Actualmente existen diversas estrategias basadas en computo
                paralelo para vencer las deficiencias de R para bases de datos de
                gran escala.
                El c´mputo paralelo no requiere necesariamente supercomputadoras,
                    o
                sino que tambi´n puede hacerse en m´quinas de memoria compartida
                               e                       a
                (multicore) o distribuida (clusters). Estas estrategias se basan en:
                         Dividir una tarea grande en varias m´s peque˜as y distribuirlas en
                                                             a       n
                         varias CPUs.
                         Particionar el conjunto de datos de manera que cada grupo pueda
                         ajustarse a la RAM de la(s) m´quina.
                                                       a
Miner´ de datos de gran escala usando R
     ıa
   R paralelo




Snow


                El paquete snow (Simple Network of Workstations) permite usar un
                cluster tradicional tipo Beowulf para realizar tareas vergonzosamente
                paralelas.
Miner´ de datos de gran escala usando R
     ıa
   R paralelo




Snow


                El paquete snow (Simple Network of Workstations) permite usar un
                cluster tradicional tipo Beowulf para realizar tareas vergonzosamente
                paralelas.
                snow usa una arquitectura maestro/esclavo, donde el maestro env´     ıa
                trabajos a los esclavos y luego de realizado, los esclavos devuelven
                los resultados al maestro.
Miner´ de datos de gran escala usando R
     ıa
   R paralelo




Snow


                El paquete snow (Simple Network of Workstations) permite usar un
                cluster tradicional tipo Beowulf para realizar tareas vergonzosamente
                paralelas.
                snow usa una arquitectura maestro/esclavo, donde el maestro env´     ıa
                trabajos a los esclavos y luego de realizado, los esclavos devuelven
                los resultados al maestro.
                Puede usar diferentes medios de transporte para comunicar el
                maestro con los esclavos, lo cual lo hace altamente portable. M´s
                                                                                a
                espec´ıficamente, es posible utilizar sockets, MPI (message passage
                interface), PVM (parallel virtual machines) o NetWorkSpaces.
Miner´ de datos de gran escala usando R
     ıa
   R paralelo




Hola Mundo paralelo usando Snow



        > library(snow)
        > cl <- makeCluster(4, type="MPI")
        Loading required package: Rmpi
        4 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´ de datos de gran escala usando R
     ıa
   R paralelo




Clustering usando k-means
                                                                                  Edgar Anderson's Iris Data
                                                                                2.0 2.5 3.0 3.5 4.0                                0.5 1.0 1.5 2.0 2.5




                                                                                                                                                         7.5
                                                                                                                                                         6.5
                                                        Sepal.Length




                                                                                                                                                         5.5
                                                                                                                                                         4.5
                                  2.0 2.5 3.0 3.5 4.0




                                                                                  Sepal.Width




                                                                                                                                                         7
                                                                                                                                                         6
                                                                                                                                                         5
                                                                                                          Petal.Length




                                                                                                                                                         4
                                                                                                                                                         3
                                                                                                                                                         2
                                                                                                                                                         1
                                  0.5 1.0 1.5 2.0 2.5




                                                                                                                                   Petal.Width


                                                        4.5   5.5   6.5   7.5                         1    2   3   4   5   6   7
Miner´ de datos de gran escala usando R
     ıa
   R paralelo




K-means paralelo usando Snow



        Table : Tiempo de ejecuci´n del algoritmo K-means con puntos de partida
                                 o
        aleatorios
                                  # Puntos         Secuencial [s]   Paralelo [s]
                                     1e2              0.016            0.009
                                     1e3              0.126            0.117
                                     1e4              1.010            0.301
                               1e6 (4 trabajos)      108.704          28.363
                               1e6 (10 trabajos)     108.704          35.642
Miner´ de datos de gran escala usando R
     ıa
   R paralelo




Balanceo de carga con snow
                                                              Cluster Usage




                                           4
                                           3
                                    Node

                                           2
                                           1
                                           0




                                               0   5     10          15       20   25

                                                               Elapsed Time




                                           Figure : 4 trabajos con 250.000 tareas
Miner´ de datos de gran escala usando R
     ıa
   R paralelo




Balanceo de carga con snow
                                                            Cluster Usage




                                           4
                                           3
                                    Node

                                           2
                                           1
                                           0




                                               0   5   10    15       20    25   30   35

                                                             Elapsed Time




                                           Figure : 10 trabajos con 100.000 tareas
Miner´ de datos de gran escala usando R
     ıa
   Open Data + Visualization




R+Open Data


                La filosof´ Open Data1 busca hacer disponibles algunos datos de
                          ıa
                inter´s p´bico hacia la comunidad mediante APIs y protocolos
                     e u
                especializados.




             1 http://www.opendatafoundation.org/
Miner´ de datos de gran escala usando R
     ıa
   Open Data + Visualization




R+Open Data


                La filosof´ Open Data1 busca hacer disponibles algunos datos de
                          ıa
                inter´s p´bico hacia la comunidad mediante APIs y protocolos
                     e u
                especializados.
                Esta iniciativa busca transparentar las pol´
                                                           ıticas publicas a trav´s de
                                                                                 e
                buenas pr´cticas que permitan el acceso expedito, seguro y eficiente
                           a
                de los datos.




             1 http://www.opendatafoundation.org/
Miner´ de datos de gran escala usando R
     ıa
   Open Data + Visualization




R+Open Data


                La filosof´ Open Data1 busca hacer disponibles algunos datos de
                          ıa
                inter´s p´bico hacia la comunidad mediante APIs y protocolos
                     e u
                especializados.
                Esta iniciativa busca transparentar las pol´
                                                           ıticas publicas a trav´s de
                                                                                 e
                buenas pr´cticas que permitan el acceso expedito, seguro y eficiente
                           a
                de los datos.
                Por otra parte, existe una variedad de dispositivos de monitoreo que
                generan un gran volumen de datos georeferenciados en tiempo real
                (clima, salud, calidad del aire) que pueden ser combinados y
                reutilizados para diferentes aplicaciones.




             1 http://www.opendatafoundation.org/
Miner´ de datos de gran escala usando R
     ıa
   Open Data + Visualization




Proyecto Agrosense




                                          Figure : Sensores inal´mbricos
                                                                a
Miner´ de datos de gran escala usando R
     ıa
   Open Data + Visualization




Proyecto Agrosense


                                           Humedad del Suelo nivel 1: nodo 1                                                   Humedad del Suelo nivel 2: nodo 1                                                   Humedad del Suelo nivel 3: nodo 1
                      300




                                                                                                          300




                                                                                                                                                                                              300
                      250




                                                                                                          250




                                                                                                                                                                                              250
                      200




                                                                                                          200




                                                                                                                                                                                              200
         Centibares




                                                                                             Centibares




                                                                                                                                                                                 Centibares
                      150




                                                                                                          150




                                                                                                                                                                                              150
                      100




                                                                                                          100




                                                                                                                                                                                              100
                      50




                                                                                                          50




                                                                                                                                                                                              50
                      0




                                                                                                          0




                                                                                                                                                                                              0
                            2012−07−20   2012−07−27   2012−08−03   2012−08−12   2012−09−25                      2012−07−20   2012−07−27   2012−08−03   2012−08−12   2012−09−25                      2012−07−20   2012−07−27   2012−08−03   2012−08−12   2012−09−25

                                                            Dia                                                                                 Dia                                                                                 Dia




        Figure : Sensores humedad del suelo en sector Punta de Diamante en la
        comuna de San Clemente
Miner´ de datos de gran escala usando R
     ıa
   Open Data + Visualization




Proyecto Agrosense




                                          Figure : Visualizaci´n en Google Earth
                                                              o
Miner´ de datos de gran escala usando R
     ıa
   Open Data + Visualization




Proyecto Agrosense




                                          Figure : Visualizaci´n en Google Earth
                                                              o
Miner´ de datos de gran escala usando R
     ıa
   Open Data + Visualization




Preguntas + Sugerencias?

Más contenido relacionado

PPTX
Ayundantía iii [23 04-2012]
PPTX
Inducción a la empresa al comercio internacional
PDF
Introducción a R - con minería de datos
PPT
Diapositivas comercio internal
PPTX
Wisconsin card test por leonardo gil
PDF
Test de Wisconsin
PPTX
Lección 3. Leer un archivo CSV en R
PPTX
Bateria cognitiva breve en consultorio para nps
Ayundantía iii [23 04-2012]
Inducción a la empresa al comercio internacional
Introducción a R - con minería de datos
Diapositivas comercio internal
Wisconsin card test por leonardo gil
Test de Wisconsin
Lección 3. Leer un archivo CSV en R
Bateria cognitiva breve en consultorio para nps

Destacado (11)

PDF
Test de boston version reducida
PPTX
Test del dibujo del reloj NEUROCIENCIAS III PSICOLOGÍA
PPS
Teorias del comercio internacional
PPTX
Escala de glasgow
PPT
Test de habilidades cognitivas
PDF
3. principales teorías del comercio internacional
PPT
Grandes Economistas Y Principales Escuelas EconóMicas
PPTX
Teoria cuantitativa
PPTX
Estado Mental, escala de glasgow
PPTX
Teoria cuantitativa
PPTX
Teoría cuantitativa del dinero
Test de boston version reducida
Test del dibujo del reloj NEUROCIENCIAS III PSICOLOGÍA
Teorias del comercio internacional
Escala de glasgow
Test de habilidades cognitivas
3. principales teorías del comercio internacional
Grandes Economistas Y Principales Escuelas EconóMicas
Teoria cuantitativa
Estado Mental, escala de glasgow
Teoria cuantitativa
Teoría cuantitativa del dinero
Publicidad

Similar a Minería de datos de gran escala usando R (20)

PPTX
Científico de datos con software libre
PPTX
VIERNERYERYERYERYERYERYERYERYREYREYERS.pptx
PDF
Conociendo software r
PDF
Clase No.4 - Tecnologias Asociadas partr II .pdf
PPTX
lunedvfzsvfcxvxcvzxvzxvzvzxvzsfszfcs2.pptx
PDF
Inteligencia Artificial con R
PPTX
Diapositivas r
PPTX
MIERCOLDSGDSGDSDZGSZAGSZDGASGDASGSDES.pptx
PDF
Big Data perspectiva DevOps
PDF
Herramientas de visualización de datos
PDF
Alta disponibilidad-postgres
DOC
Procesamiento de imagenes python con raspberri pi 2
PDF
Proyecto herramientas para analisis del big-data.pdf
PDF
Arduino PDF
PDF
Presentacion Arduino PDF
PDF
Instalación R y RStudio en Windows
DOC
Actividades De I.B. De Software.
DOC
Actividades de I.B. De Software.
PDF
Fundamentos de Data Mining con R
PPTX
R Services con SQL Server
Científico de datos con software libre
VIERNERYERYERYERYERYERYERYERYREYREYERS.pptx
Conociendo software r
Clase No.4 - Tecnologias Asociadas partr II .pdf
lunedvfzsvfcxvxcvzxvzxvzvzxvzsfszfcs2.pptx
Inteligencia Artificial con R
Diapositivas r
MIERCOLDSGDSGDSDZGSZAGSZDGASGDASGSDES.pptx
Big Data perspectiva DevOps
Herramientas de visualización de datos
Alta disponibilidad-postgres
Procesamiento de imagenes python con raspberri pi 2
Proyecto herramientas para analisis del big-data.pdf
Arduino PDF
Presentacion Arduino PDF
Instalación R y RStudio en Windows
Actividades De I.B. De Software.
Actividades de I.B. De Software.
Fundamentos de Data Mining con R
R Services con SQL Server
Publicidad

Minería de datos de gran escala usando R

  • 1. Miner´ de datos de gran escala usando R ıa Miner´ de datos de gran escala usando R ıa Sergio Hern´ndez a PhD computer science Laboratorio de Procesamiento de Informaci´n Geoespacial. o Universidad Cat´lica del Maule. Chile o shernandez@ucm.cl 10 de Octubre 2012 3er Encuentro Regional de Software Libre
  • 2. Miner´ de datos de gran escala usando R ıa Introducci´n a R o Miner´ de datos ıa Figure : Aplicaciones de miner´ de datos ıa
  • 3. Miner´ de datos de gran escala usando R ıa Introducci´n a R o Miner´ de datos ıa Figure : Acciones de miner´ de datos ıa
  • 4. Miner´ de datos de gran escala usando R ıa Introducci´n a R o Miner´ de datos ıa Figure : Algoritmos de miner´ de datos ıa
  • 5. Miner´ de datos de gran escala usando R ıa Introducci´n a R o Qu´ es R? e R es un lenguaje y un ambiente de computaci´n estad´ o ıstica creado por Ross Ihaka y Robert Gentleman de la Universidad de Auckland en Nueva Zelandia y es distribuido bajo licencia GNU General Public License.
  • 6. Miner´ de datos de gran escala usando R ıa Introducci´n a R o Qu´ es R? e R es un lenguaje y un ambiente de computaci´n estad´ o ıstica creado por Ross Ihaka y Robert Gentleman de la Universidad de Auckland en Nueva Zelandia y es distribuido bajo licencia GNU General Public License. La sintaxis del lenguaje R proviene del lenguaje S creado por AT&T Labs y desarrollado en el software comercial S Plus. El lenguaje es orientado a objetos e interpretado, por lo tanto permite al usuario “interactuar” con la linea de comandos, al mismo tiempo que crea gr´ficos vectoriales de alta calidad. a
  • 7. Miner´ de datos de gran escala usando R ıa Introducci´n a R o C´mo se obtiene R? o Las fuentes, binarios y documentaci´n de R se obtiene mediante una o colecci´n de mirrors llamada CRAN o (http://CRAN.R-project.org/).
  • 8. Miner´ de datos de gran escala usando R ıa Introducci´n a R o C´mo se obtiene R? o Las fuentes, binarios y documentaci´n de R se obtiene mediante una o colecci´n de mirrors llamada CRAN o (http://CRAN.R-project.org/). El c´digo fuente es accesible directamente desde el servidor o Subversion : https://svn.r-project.org/R/.
  • 9. Miner´ de datos de gran escala usando R ıa Introducci´n a R o C´mo se obtiene R? o Las fuentes, binarios y documentaci´n de R se obtiene mediante una o colecci´n de mirrors llamada CRAN o (http://CRAN.R-project.org/). El c´digo fuente es accesible directamente desde el servidor o Subversion : https://svn.r-project.org/R/. Los binarios est´n disponibles para plataformas ix86 y x86 64 y para a sistemas operativos Windows, Linux y Mac OS.
  • 10. Miner´ de datos de gran escala usando R ıa Introducci´n a R o C´mo se obtiene R? o Las fuentes, binarios y documentaci´n de R se obtiene mediante una o colecci´n de mirrors llamada CRAN o (http://CRAN.R-project.org/). El c´digo fuente es accesible directamente desde el servidor o Subversion : https://svn.r-project.org/R/. Los binarios est´n disponibles para plataformas ix86 y x86 64 y para a sistemas operativos Windows, Linux y Mac OS. Mirror en Chile : http://dirichlet.mat.puc.cl/
  • 11. Miner´ de datos de gran escala usando R ıa Introducci´n a R o Hola Mundo.R > x<-1 > class(x) [1] "numeric" > s<-"hola mundo" > class(s) [1] "character" > s [1] "hola mundo"
  • 12. Miner´ de datos de gran escala usando R ıa R para miner´ de datos de gran escala ıa Por qu´ usar R para miner´ de datos? e ıa R es un entorno de computaci´n estad´ o ıstica de alta calidad disponible de manera gratuita para m´ltiples plataformas. u
  • 13. Miner´ de datos de gran escala usando R ıa R para miner´ de datos de gran escala ıa Por qu´ usar R para miner´ de datos? e ıa R es un entorno de computaci´n estad´ o ıstica de alta calidad disponible de manera gratuita para m´ltiples plataformas. u Gran parte de las funciones estad´ ısticas y matem´ticas que usan los a algoritmos de miner´ de datos forman parte de la distribuci´n base ıa o de R.
  • 14. Miner´ de datos de gran escala usando R ıa R para miner´ de datos de gran escala ıa Por qu´ usar R para miner´ de datos? e ıa R es un entorno de computaci´n estad´ o ıstica de alta calidad disponible de manera gratuita para m´ltiples plataformas. u Gran parte de las funciones estad´ ısticas y matem´ticas que usan los a algoritmos de miner´ de datos forman parte de la distribuci´n base ıa o de 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 c´digo, paquetes, o documentaci´n, etc. etc. o
  • 15. Miner´ de datos de gran escala usando R ıa R para miner´ de datos de gran escala ıa Por qu´ NO usar R para miner´ de datos? e ıa R fue creado en el a˜o 1995 cuando el espacio en disco duro y la n memoria RAM eran mucho m´s costosos que hoy en d´ a ıa.
  • 16. Miner´ de datos de gran escala usando R ıa R para miner´ de datos de gran escala ıa Por qu´ NO usar R para miner´ de datos? e ıa R fue creado en el a˜o 1995 cuando el espacio en disco duro y la n memoria RAM eran mucho m´s costosos que hoy en d´ a ıa. Particularmente, R adolece de los siguientes problemas: No es multi-hilo por lo tanto no puede usar las arquitecturas modernas multi-core o CPUs m´ltiples. u El tama˜o de los datos analizados tiene que ajustarse a la RAM de la n m´quina. a
  • 17. Miner´ de datos de gran escala usando R ıa R paralelo Hablando R en paralelo Actualmente existen diversas estrategias basadas en computo paralelo para vencer las deficiencias de R para bases de datos de gran escala.
  • 18. Miner´ de datos de gran escala usando R ıa R paralelo Hablando R en paralelo Actualmente existen diversas estrategias basadas en computo paralelo para vencer las deficiencias de R para bases de datos de gran escala. El c´mputo paralelo no requiere necesariamente supercomputadoras, o sino que tambi´n puede hacerse en m´quinas de memoria compartida e a (multicore) o distribuida (clusters). Estas estrategias se basan en:
  • 19. Miner´ de datos de gran escala usando R ıa R paralelo Hablando R en paralelo Actualmente existen diversas estrategias basadas en computo paralelo para vencer las deficiencias de R para bases de datos de gran escala. El c´mputo paralelo no requiere necesariamente supercomputadoras, o sino que tambi´n puede hacerse en m´quinas de memoria compartida e a (multicore) o distribuida (clusters). Estas estrategias se basan en: Dividir una tarea grande en varias m´s peque˜as y distribuirlas en a n varias CPUs.
  • 20. Miner´ de datos de gran escala usando R ıa R paralelo Hablando R en paralelo Actualmente existen diversas estrategias basadas en computo paralelo para vencer las deficiencias de R para bases de datos de gran escala. El c´mputo paralelo no requiere necesariamente supercomputadoras, o sino que tambi´n puede hacerse en m´quinas de memoria compartida e a (multicore) o distribuida (clusters). Estas estrategias se basan en: Dividir una tarea grande en varias m´s peque˜as y distribuirlas en a n varias CPUs. Particionar el conjunto de datos de manera que cada grupo pueda ajustarse a la RAM de la(s) m´quina. a
  • 21. Miner´ de datos de gran escala usando R ıa R paralelo Snow El paquete snow (Simple Network of Workstations) permite usar un cluster tradicional tipo Beowulf para realizar tareas vergonzosamente paralelas.
  • 22. Miner´ de datos de gran escala usando R ıa R paralelo Snow El paquete snow (Simple Network of Workstations) permite usar un cluster tradicional tipo Beowulf para realizar tareas vergonzosamente paralelas. snow usa una arquitectura maestro/esclavo, donde el maestro env´ ıa trabajos a los esclavos y luego de realizado, los esclavos devuelven los resultados al maestro.
  • 23. Miner´ de datos de gran escala usando R ıa R paralelo Snow El paquete snow (Simple Network of Workstations) permite usar un cluster tradicional tipo Beowulf para realizar tareas vergonzosamente paralelas. snow usa una arquitectura maestro/esclavo, donde el maestro env´ ıa trabajos a los esclavos y luego de realizado, los esclavos devuelven los resultados al maestro. Puede usar diferentes medios de transporte para comunicar el maestro con los esclavos, lo cual lo hace altamente portable. M´s a espec´ıficamente, es posible utilizar sockets, MPI (message passage interface), PVM (parallel virtual machines) o NetWorkSpaces.
  • 24. Miner´ de datos de gran escala usando R ıa R paralelo Hola Mundo paralelo usando Snow > library(snow) > cl <- makeCluster(4, type="MPI") Loading required package: Rmpi 4 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"
  • 25. Miner´ de datos de gran escala usando R ıa R paralelo Clustering usando k-means Edgar Anderson's Iris Data 2.0 2.5 3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5 7.5 6.5 Sepal.Length 5.5 4.5 2.0 2.5 3.0 3.5 4.0 Sepal.Width 7 6 5 Petal.Length 4 3 2 1 0.5 1.0 1.5 2.0 2.5 Petal.Width 4.5 5.5 6.5 7.5 1 2 3 4 5 6 7
  • 26. Miner´ de datos de gran escala usando R ıa R paralelo K-means paralelo usando Snow Table : Tiempo de ejecuci´n del algoritmo K-means con puntos de partida o aleatorios # Puntos Secuencial [s] Paralelo [s] 1e2 0.016 0.009 1e3 0.126 0.117 1e4 1.010 0.301 1e6 (4 trabajos) 108.704 28.363 1e6 (10 trabajos) 108.704 35.642
  • 27. Miner´ de datos de gran escala usando R ıa R paralelo Balanceo de carga con snow Cluster Usage 4 3 Node 2 1 0 0 5 10 15 20 25 Elapsed Time Figure : 4 trabajos con 250.000 tareas
  • 28. Miner´ de datos de gran escala usando R ıa R paralelo Balanceo de carga con snow Cluster Usage 4 3 Node 2 1 0 0 5 10 15 20 25 30 35 Elapsed Time Figure : 10 trabajos con 100.000 tareas
  • 29. Miner´ de datos de gran escala usando R ıa Open Data + Visualization R+Open Data La filosof´ Open Data1 busca hacer disponibles algunos datos de ıa inter´s p´bico hacia la comunidad mediante APIs y protocolos e u especializados. 1 http://www.opendatafoundation.org/
  • 30. Miner´ de datos de gran escala usando R ıa Open Data + Visualization R+Open Data La filosof´ Open Data1 busca hacer disponibles algunos datos de ıa inter´s p´bico hacia la comunidad mediante APIs y protocolos e u especializados. Esta iniciativa busca transparentar las pol´ ıticas publicas a trav´s de e buenas pr´cticas que permitan el acceso expedito, seguro y eficiente a de los datos. 1 http://www.opendatafoundation.org/
  • 31. Miner´ de datos de gran escala usando R ıa Open Data + Visualization R+Open Data La filosof´ Open Data1 busca hacer disponibles algunos datos de ıa inter´s p´bico hacia la comunidad mediante APIs y protocolos e u especializados. Esta iniciativa busca transparentar las pol´ ıticas publicas a trav´s de e buenas pr´cticas que permitan el acceso expedito, seguro y eficiente a de los datos. Por otra parte, existe una variedad de dispositivos de monitoreo que generan un gran volumen de datos georeferenciados en tiempo real (clima, salud, calidad del aire) que pueden ser combinados y reutilizados para diferentes aplicaciones. 1 http://www.opendatafoundation.org/
  • 32. Miner´ de datos de gran escala usando R ıa Open Data + Visualization Proyecto Agrosense Figure : Sensores inal´mbricos a
  • 33. Miner´ de datos de gran escala usando R ıa Open Data + Visualization Proyecto Agrosense Humedad del Suelo nivel 1: nodo 1 Humedad del Suelo nivel 2: nodo 1 Humedad del Suelo nivel 3: nodo 1 300 300 300 250 250 250 200 200 200 Centibares Centibares Centibares 150 150 150 100 100 100 50 50 50 0 0 0 2012−07−20 2012−07−27 2012−08−03 2012−08−12 2012−09−25 2012−07−20 2012−07−27 2012−08−03 2012−08−12 2012−09−25 2012−07−20 2012−07−27 2012−08−03 2012−08−12 2012−09−25 Dia Dia Dia Figure : Sensores humedad del suelo en sector Punta de Diamante en la comuna de San Clemente
  • 34. Miner´ de datos de gran escala usando R ıa Open Data + Visualization Proyecto Agrosense Figure : Visualizaci´n en Google Earth o
  • 35. Miner´ de datos de gran escala usando R ıa Open Data + Visualization Proyecto Agrosense Figure : Visualizaci´n en Google Earth o
  • 36. Miner´ de datos de gran escala usando R ıa Open Data + Visualization Preguntas + Sugerencias?