SlideShare una empresa de Scribd logo
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

Destacado

Test de boston version reducida
Test de  boston version reducidaTest de  boston version reducida
Test de boston version reducida
carlafig
 
Test del dibujo del reloj NEUROCIENCIAS III PSICOLOGÍA
Test del dibujo del reloj NEUROCIENCIAS III PSICOLOGÍATest del dibujo del reloj NEUROCIENCIAS III PSICOLOGÍA
Test del dibujo del reloj NEUROCIENCIAS III PSICOLOGÍA
FiorellaRP
 
Teorias del comercio internacional
Teorias del comercio internacionalTeorias del comercio internacional
Teorias del comercio internacional
Bernardo Zavahra
 
Escala de glasgow
Escala de glasgowEscala de glasgow
Escala de glasgow
Karla Martinez Pinto
 
Test de habilidades cognitivas
Test de habilidades cognitivasTest de habilidades cognitivas
Test de habilidades cognitivas
Moises Logroño
 
3. principales teorías del comercio internacional
3. principales teorías del comercio internacional3. principales teorías del comercio internacional
3. principales teorías del comercio internacional
huguito818181
 
Grandes Economistas Y Principales Escuelas EconóMicas
Grandes Economistas Y Principales Escuelas EconóMicasGrandes Economistas Y Principales Escuelas EconóMicas
Grandes Economistas Y Principales Escuelas EconóMicas
José Antonio Montaño Jordán
 
Teoria cuantitativa
Teoria cuantitativaTeoria cuantitativa
Teoria cuantitativa
Bryan Guerra
 
Estado Mental, escala de glasgow
Estado Mental, escala de glasgowEstado Mental, escala de glasgow
Estado Mental, escala de glasgow
Zully Cepeda
 
Teoria cuantitativa
Teoria cuantitativaTeoria cuantitativa
Teoria cuantitativa
Bryan Guerra
 
Teoría cuantitativa del dinero
Teoría cuantitativa del dineroTeoría cuantitativa del dinero
Teoría cuantitativa del dinero
Jhon Torres Colomer
 

Destacado (11)

Test de boston version reducida
Test de  boston version reducidaTest de  boston version reducida
Test de boston version reducida
 
Test del dibujo del reloj NEUROCIENCIAS III PSICOLOGÍA
Test del dibujo del reloj NEUROCIENCIAS III PSICOLOGÍATest del dibujo del reloj NEUROCIENCIAS III PSICOLOGÍA
Test del dibujo del reloj NEUROCIENCIAS III PSICOLOGÍA
 
Teorias del comercio internacional
Teorias del comercio internacionalTeorias del comercio internacional
Teorias del comercio internacional
 
Escala de glasgow
Escala de glasgowEscala de glasgow
Escala de glasgow
 
Test de habilidades cognitivas
Test de habilidades cognitivasTest de habilidades cognitivas
Test de habilidades cognitivas
 
3. principales teorías del comercio internacional
3. principales teorías del comercio internacional3. principales teorías del comercio internacional
3. principales teorías del comercio internacional
 
Grandes Economistas Y Principales Escuelas EconóMicas
Grandes Economistas Y Principales Escuelas EconóMicasGrandes Economistas Y Principales Escuelas EconóMicas
Grandes Economistas Y Principales Escuelas EconóMicas
 
Teoria cuantitativa
Teoria cuantitativaTeoria cuantitativa
Teoria cuantitativa
 
Estado Mental, escala de glasgow
Estado Mental, escala de glasgowEstado Mental, escala de glasgow
Estado Mental, escala de glasgow
 
Teoria cuantitativa
Teoria cuantitativaTeoria cuantitativa
Teoria cuantitativa
 
Teoría cuantitativa del dinero
Teoría cuantitativa del dineroTeoría cuantitativa del dinero
Teoría cuantitativa del dinero
 

Similar a Minería de datos de gran escala usando R

Científico de datos con software libre
Científico de datos con software libreCientífico de datos con software libre
Científico de datos con software libre
Mauricio Arancibia
 
Conociendo software r
Conociendo software rConociendo software r
Conociendo software r
Melissa Garcia Felix
 
Inteligencia Artificial con R
Inteligencia Artificial con RInteligencia Artificial con R
Inteligencia Artificial con R
Universidad Nacional de Loja
 
Diapositivas r
Diapositivas rDiapositivas r
Diapositivas r
EdwinSaul ParejaMolina
 
Big Data perspectiva DevOps
Big Data perspectiva DevOpsBig Data perspectiva DevOps
Big Data perspectiva DevOps
Enrique Carbonell
 
Herramientas de visualización de datos
Herramientas de visualización de datosHerramientas de visualización de datos
Herramientas de visualización de datos
BBVA API Market
 
Alta disponibilidad-postgres
Alta disponibilidad-postgresAlta disponibilidad-postgres
Alta disponibilidad-postgres
Lenin Hernandez
 
Procesamiento de imagenes python con raspberri pi 2
Procesamiento de imagenes python con raspberri pi 2Procesamiento de imagenes python con raspberri pi 2
Procesamiento de imagenes python con raspberri pi 2
Franklin J.
 
Proyecto herramientas para analisis del big-data.pdf
Proyecto herramientas para analisis del big-data.pdfProyecto herramientas para analisis del big-data.pdf
Proyecto herramientas para analisis del big-data.pdf
techno48
 
Presentacion Arduino PDF
Presentacion Arduino PDFPresentacion Arduino PDF
Presentacion Arduino PDF
cristianperea
 
Arduino PDF
Arduino PDFArduino PDF
Arduino PDF
cristianperea
 
Instalación R y RStudio en Windows
Instalación R y RStudio en WindowsInstalación R y RStudio en Windows
Instalación R y RStudio en Windows
Guillermo Santos
 
Actividades de I.B. De Software.
Actividades de I.B. De Software.Actividades de I.B. De Software.
Actividades de I.B. De Software.
Emilio
 
Actividades De I.B. De Software.
Actividades De I.B. De Software.Actividades De I.B. De Software.
Actividades De I.B. De Software.
Emilio
 
Fundamentos de Data Mining con R
Fundamentos de Data Mining con RFundamentos de Data Mining con R
Fundamentos de Data Mining con R
Software Guru
 
R Services con SQL Server
R Services con SQL ServerR Services con SQL Server
R Services con SQL Server
dbLearner
 
Introducción al R Commander
Introducción al R CommanderIntroducción al R Commander
Introducción al R Commander
JOSE AURELIO PINA ROMERO
 
Examen tipo b
Examen tipo bExamen tipo b
Examen tipo b
jose-gregorio
 
Sgbd y tecnologias usadas por aplicaciones web 2
Sgbd y tecnologias usadas por aplicaciones web 2Sgbd y tecnologias usadas por aplicaciones web 2
Sgbd y tecnologias usadas por aplicaciones web 2
Kevin Aaron Casaverde Roncal
 
Rapidminer
RapidminerRapidminer

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

Científico de datos con software libre
Científico de datos con software libreCientífico de datos con software libre
Científico de datos con software libre
 
Conociendo software r
Conociendo software rConociendo software r
Conociendo software r
 
Inteligencia Artificial con R
Inteligencia Artificial con RInteligencia Artificial con R
Inteligencia Artificial con R
 
Diapositivas r
Diapositivas rDiapositivas r
Diapositivas r
 
Big Data perspectiva DevOps
Big Data perspectiva DevOpsBig Data perspectiva DevOps
Big Data perspectiva DevOps
 
Herramientas de visualización de datos
Herramientas de visualización de datosHerramientas de visualización de datos
Herramientas de visualización de datos
 
Alta disponibilidad-postgres
Alta disponibilidad-postgresAlta disponibilidad-postgres
Alta disponibilidad-postgres
 
Procesamiento de imagenes python con raspberri pi 2
Procesamiento de imagenes python con raspberri pi 2Procesamiento de imagenes python con raspberri pi 2
Procesamiento de imagenes python con raspberri pi 2
 
Proyecto herramientas para analisis del big-data.pdf
Proyecto herramientas para analisis del big-data.pdfProyecto herramientas para analisis del big-data.pdf
Proyecto herramientas para analisis del big-data.pdf
 
Presentacion Arduino PDF
Presentacion Arduino PDFPresentacion Arduino PDF
Presentacion Arduino PDF
 
Arduino PDF
Arduino PDFArduino PDF
Arduino PDF
 
Instalación R y RStudio en Windows
Instalación R y RStudio en WindowsInstalación R y RStudio en Windows
Instalación R y RStudio en Windows
 
Actividades de I.B. De Software.
Actividades de I.B. De Software.Actividades de I.B. De Software.
Actividades de I.B. De Software.
 
Actividades De I.B. De Software.
Actividades De I.B. De Software.Actividades De I.B. De Software.
Actividades De I.B. De Software.
 
Fundamentos de Data Mining con R
Fundamentos de Data Mining con RFundamentos de Data Mining con R
Fundamentos de Data Mining con R
 
R Services con SQL Server
R Services con SQL ServerR Services con SQL Server
R Services con SQL Server
 
Introducción al R Commander
Introducción al R CommanderIntroducción al R Commander
Introducción al R Commander
 
Examen tipo b
Examen tipo bExamen tipo b
Examen tipo b
 
Sgbd y tecnologias usadas por aplicaciones web 2
Sgbd y tecnologias usadas por aplicaciones web 2Sgbd y tecnologias usadas por aplicaciones web 2
Sgbd y tecnologias usadas por aplicaciones web 2
 
Rapidminer
RapidminerRapidminer
Rapidminer
 

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?