SlideShare una empresa de Scribd logo
Machine Learning usando Weka en un
entorno de cómputo distribuido
por Alexandra Lemus
15 de marzo de 2018
#datadaymx
¿Quiénes somos?
VinkOS es una firma dedicada a la integración de tecnologías diversas y
desarrollo de soluciones dentro del ámbito de Big Data y Minería de Datos.
Trabajamos con tecnologías código abierto empresarial, en particular,
Pentaho y Cloudera.
2
Agenda
● Un caso de uso: MandiStore, una tienda departamental
● Machine learning y cómputo distribuido - Algunos conceptos
● Recordando el ciclo del científico de datos
● Weka y Spark MLlib - Herramientas para implementar soluciones
● Roadmap - Solución al caso de uso
● Demo: Un algoritmo de clasificación en Weka distribuido
● Conclusiones
3
Caso de uso: MandiStore
● MandiStore, es una tienda departamental, que cuenta con una tarjeta
departamental y un programa de lealtad.
● Cuenta con millones de registros que contienen la información
socioeconómica de sus clientes, así como sus productos contratados
y/o consumidos.
● Actualmente tiene un nuevo producto financiero que quiere ofrecer a
sus clientes y a otros clientes potenciales.
Su meta es lanzar una campaña de marketing efectiva, para ofrecer de
forma personalizada su producto a clientes existentes y potenciales.
La pregunta es: ¿Cuáles clientes van a estar interesados en el producto
y cuáles no?
4
Machine Learning
Toma de decisiones basadas en datos.
Actualiza modelos con nuevos datos.
Algoritmos de clasificación.
Aprendizaje automatizado.
Cómputo Distribuido
Conjunto de nodos organizados.
Procesamiento de grandes volúmenes
de datos.
Resistente a fallos y concurrencia de
datos
¿Me sirve utilizar machine learning en un entorno distribuido?
En este caso sí, para aprovechar todos los datos y utilizar algoritmos
distribuidos teniendo una visión hacia futuro.
Machine learning y cómputo distribuido
5
Para responder a esta pregunta, utilizamos el siguiente enfoque:
Una solución de ciencia de datos es compleja.
Preparación y análisis
exploratorio de datos.
Keywords: Limpieza, perfilado,
ingeniería de características,
estadísticas descriptivas.
Recordando el ciclo del científico de datos
Generación y
evaluación de
modelos.
Keywords: Clasificación,
regresión, clustering.
Implementación y
automatización de
modelos
6
¡Weka se puede utilizar en un entorno distribuido!
Distribuye los datos y/o las tareas en distintos nodos de forma local o remota.
Utiliza algoritmos de Spark MLlib y de Weka en este mismo entorno.
Weka
Minero de datos de
código abierto
desarrollado en la
Universidad de Waikato,
en Nueva Zelanda.
Weka y Spark MLlib
7
Spark MLlib
Biblioteca de algoritmos
de aprendizaje de
máquina para cómputo
distribuido.
Utilizamos las siguientes herramientas para encontrar una solución.
Weka hace transparente el uso de algunas funcionalidades de Spark
Bondades del cómputo distribuido en Weka
Distribución de datos Generación de modelos Resultado
Data Set
Data Set
Entrenar modelo
Entrenar modelo
1. Modelo
Incremental.
2. Ensemble de
modelos.
Score
Tareas MAP Tareas REDUCERDD
8
La interfaz gráfica
permite entender
el flujo de datos y
tareas.
Los objetos de
Weka encapsulan
las capacidades de
Spark.
Preparación y análisis exploratorio de los datos…
● Pentaho Data Integration (PDI): preparación de datos e ingeniería de
características.
● Weka y R-tidyverse: EDA.
● Weka: Tratamiento de valores nulos.
Roadmap: Preparación de datos y EDA
9
Generación y evaluación de modelos...
● Entrenamiento de diversos modelos con una muestra de los datos
(400,000).
● Entrenamiento de tres modelos con todos los datos disponibles
(9,000,000).
● Gradient Boosted Trees, Decision Tree, Random Forest.
● Evaluación de modelos (seleccionando el modelo con menor número de
falsos negativos).
Roadmap: Entrenamiento y evaluación
Modelo Precision Recall
F-
Meassure
AUC TP TN FP FN
MLlibGradientBoosted
Trees
0.985 0.985 0.985 0.943 0.074 0.910 0.006 0.009
MLlibRandomForest 0.982 0.982 0.982 0.925 0.071 0.911 0.0056 0.012
MLlibDecisionTree 0.983 0.983 0.983 0.926 0.071 0.912 0.005 0.012
10
Roadmap: Implementación en productivo
La implementación en productivo de un modelo de machine
learning no es trivial. Para fines de esta presentación no se
considera esa etapa del ciclo de solución.
11
Demo
● Ejemplo del análisis exploratorio de datos (correlaciones con datos
faltantes).
● Generación de modelos con Weka KnowledgeFlow.
● Evaluación de un modelo con Weka Explorer.
12
Conclusiones
● Weka es…
○ un sistema gráfico con objetos que,
○ permite usar algoritmos de aprendizaje de máquina sin escribir
código, además
○ el diseño de flujos es fácil de interpretar.
● Weka y Spark MLlib tienen diversos beneficios para manejar grandes
volúmenes de información, en particular, este ejercicio es escalable con
archivos en Hadoop (de local a un cluster).
13
¿Preguntas?
alexandra.lemus@vinkos.com
@nankyoku
14

Más contenido relacionado

La actualidad más candente

Primeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid MeetupPrimeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid Meetupdhiguero
 
Stratio: Experiencia en el Spark Summit 2014
Stratio: Experiencia en el Spark Summit 2014Stratio: Experiencia en el Spark Summit 2014
Stratio: Experiencia en el Spark Summit 2014Stratio
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Big Data Architecture con Pentaho
Big Data Architecture con PentahoBig Data Architecture con Pentaho
Big Data Architecture con PentahoDatalytics
 
Mi primer modelo de clasificación con Azure Machine Learning Studio
Mi primer modelo de clasificación con Azure Machine Learning StudioMi primer modelo de clasificación con Azure Machine Learning Studio
Mi primer modelo de clasificación con Azure Machine Learning StudioJOSE AHIAS LOPEZ PORTILLO
 
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...Socialmetrix
 
Zophia - Arquitecturas de datos en Google Cloud
Zophia - Arquitecturas de datos en Google CloudZophia - Arquitecturas de datos en Google Cloud
Zophia - Arquitecturas de datos en Google CloudUrielMontao2
 
Herramientas para computación distribuida. De Hadoop a Spark
Herramientas para computación distribuida. De Hadoop a SparkHerramientas para computación distribuida. De Hadoop a Spark
Herramientas para computación distribuida. De Hadoop a SparkJose Manuel Ortega Candel
 
Introduction to Machine Learning with Azure
Introduction to Machine Learning with AzureIntroduction to Machine Learning with Azure
Introduction to Machine Learning with AzureAlan Koo
 

La actualidad más candente (10)

Primeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid MeetupPrimeros pasos con Apache Spark - Madrid Meetup
Primeros pasos con Apache Spark - Madrid Meetup
 
Stratio: Experiencia en el Spark Summit 2014
Stratio: Experiencia en el Spark Summit 2014Stratio: Experiencia en el Spark Summit 2014
Stratio: Experiencia en el Spark Summit 2014
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
 
Big Data Architecture con Pentaho
Big Data Architecture con PentahoBig Data Architecture con Pentaho
Big Data Architecture con Pentaho
 
Mi primer modelo de clasificación con Azure Machine Learning Studio
Mi primer modelo de clasificación con Azure Machine Learning StudioMi primer modelo de clasificación con Azure Machine Learning Studio
Mi primer modelo de clasificación con Azure Machine Learning Studio
 
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
 
Zophia - Arquitecturas de datos en Google Cloud
Zophia - Arquitecturas de datos en Google CloudZophia - Arquitecturas de datos en Google Cloud
Zophia - Arquitecturas de datos en Google Cloud
 
Herramientas para computación distribuida. De Hadoop a Spark
Herramientas para computación distribuida. De Hadoop a SparkHerramientas para computación distribuida. De Hadoop a Spark
Herramientas para computación distribuida. De Hadoop a Spark
 
Introduction to Machine Learning with Azure
Introduction to Machine Learning with AzureIntroduction to Machine Learning with Azure
Introduction to Machine Learning with Azure
 
Big Data Begins
Big Data BeginsBig Data Begins
Big Data Begins
 

Similar a Machine learning usando Weka, en un entorno de cómputo distribuido

Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...JCarlos Gonzalez Joyé
 
2016 ULL Cabildo KEEDIO - Arquitecturas Big Data
2016 ULL Cabildo KEEDIO - Arquitecturas Big Data2016 ULL Cabildo KEEDIO - Arquitecturas Big Data
2016 ULL Cabildo KEEDIO - Arquitecturas Big DataKEEDIO
 
Laboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datosLaboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datosSoftware Guru
 
Introducción al análisis predictivo con SQL Server
Introducción al análisis predictivo con SQL ServerIntroducción al análisis predictivo con SQL Server
Introducción al análisis predictivo con SQL ServerEduardo Castro
 
Machine Learning en Inversiones 20210414
Machine Learning en Inversiones 20210414Machine Learning en Inversiones 20210414
Machine Learning en Inversiones 20210414Gerard Alba
 
Revista TicNews Marzo 2015
Revista TicNews Marzo 2015Revista TicNews Marzo 2015
Revista TicNews Marzo 2015Edicion Ticnews
 
Que es Azure Machine Learning 2015
Que es Azure Machine Learning 2015Que es Azure Machine Learning 2015
Que es Azure Machine Learning 2015Eduardo Castro
 
MINERIA DE DATOS
MINERIA DE DATOSMINERIA DE DATOS
MINERIA DE DATOSLosMorales
 
eBook Nubiral _ DataOps_ cada cual atiende su juego (1).pdf
eBook Nubiral _ DataOps_ cada cual atiende su juego (1).pdfeBook Nubiral _ DataOps_ cada cual atiende su juego (1).pdf
eBook Nubiral _ DataOps_ cada cual atiende su juego (1).pdfNubiral
 
Minería datos con SQL Server 2012
Minería datos con SQL Server 2012Minería datos con SQL Server 2012
Minería datos con SQL Server 2012Eduardo Castro
 
informe de proyecto base de datos
informe de proyecto base de datosinforme de proyecto base de datos
informe de proyecto base de datosJuan Polo Cosme
 
Programa Superior en Big Data
Programa Superior en Big DataPrograma Superior en Big Data
Programa Superior en Big DataICEMD
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxLuis Beltran
 
Informe bd2 final Venta Carros
Informe  bd2 final Venta CarrosInforme  bd2 final Venta Carros
Informe bd2 final Venta CarrosJuan Polo Cosme
 
Introduccion datawarehouse
Introduccion datawarehouseIntroduccion datawarehouse
Introduccion datawarehouseEduardo Castro
 
Analisis predictivo con microsoft azure
Analisis predictivo con microsoft azureAnalisis predictivo con microsoft azure
Analisis predictivo con microsoft azureEduardo Castro
 

Similar a Machine learning usando Weka, en un entorno de cómputo distribuido (20)

Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
 
2016 ULL Cabildo KEEDIO - Arquitecturas Big Data
2016 ULL Cabildo KEEDIO - Arquitecturas Big Data2016 ULL Cabildo KEEDIO - Arquitecturas Big Data
2016 ULL Cabildo KEEDIO - Arquitecturas Big Data
 
Laboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datosLaboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datos
 
Introducción al análisis predictivo con SQL Server
Introducción al análisis predictivo con SQL ServerIntroducción al análisis predictivo con SQL Server
Introducción al análisis predictivo con SQL Server
 
Machine Learning en Inversiones 20210414
Machine Learning en Inversiones 20210414Machine Learning en Inversiones 20210414
Machine Learning en Inversiones 20210414
 
Revista TicNews Marzo 2015
Revista TicNews Marzo 2015Revista TicNews Marzo 2015
Revista TicNews Marzo 2015
 
Que es Azure Machine Learning 2015
Que es Azure Machine Learning 2015Que es Azure Machine Learning 2015
Que es Azure Machine Learning 2015
 
MINERIA DE DATOS
MINERIA DE DATOSMINERIA DE DATOS
MINERIA DE DATOS
 
eBook Nubiral _ DataOps_ cada cual atiende su juego (1).pdf
eBook Nubiral _ DataOps_ cada cual atiende su juego (1).pdfeBook Nubiral _ DataOps_ cada cual atiende su juego (1).pdf
eBook Nubiral _ DataOps_ cada cual atiende su juego (1).pdf
 
Minería datos con SQL Server 2012
Minería datos con SQL Server 2012Minería datos con SQL Server 2012
Minería datos con SQL Server 2012
 
capacitación Data science.pptx
capacitación Data science.pptxcapacitación Data science.pptx
capacitación Data science.pptx
 
informe de proyecto base de datos
informe de proyecto base de datosinforme de proyecto base de datos
informe de proyecto base de datos
 
Programa Superior en Big Data
Programa Superior en Big DataPrograma Superior en Big Data
Programa Superior en Big Data
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptx
 
Informe bd2 final 2
Informe  bd2 final 2Informe  bd2 final 2
Informe bd2 final 2
 
Informe bd2 final
Informe  bd2 finalInforme  bd2 final
Informe bd2 final
 
Informe bd2 final Venta Carros
Informe  bd2 final Venta CarrosInforme  bd2 final Venta Carros
Informe bd2 final Venta Carros
 
Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
 
Introduccion datawarehouse
Introduccion datawarehouseIntroduccion datawarehouse
Introduccion datawarehouse
 
Analisis predictivo con microsoft azure
Analisis predictivo con microsoft azureAnalisis predictivo con microsoft azure
Analisis predictivo con microsoft azure
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Último

Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometriasofiasonder
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesPABLOCESARGARZONBENI
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxencinasm992
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respetocdraco
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusraquelariza02
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx44652726
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaFernando Villares
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.saravalentinat22
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024DanielErazoMedina
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxJohanna4222
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiegoCampos433849
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfManuelCampos464987
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareAndres Avila
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfjjfch3110
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestrerafaelsalazar0615
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Luis Fernando Uribe Villamil
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docxwerito139410
 

Último (20)

Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
 

Machine learning usando Weka, en un entorno de cómputo distribuido

  • 1. Machine Learning usando Weka en un entorno de cómputo distribuido por Alexandra Lemus 15 de marzo de 2018 #datadaymx
  • 2. ¿Quiénes somos? VinkOS es una firma dedicada a la integración de tecnologías diversas y desarrollo de soluciones dentro del ámbito de Big Data y Minería de Datos. Trabajamos con tecnologías código abierto empresarial, en particular, Pentaho y Cloudera. 2
  • 3. Agenda ● Un caso de uso: MandiStore, una tienda departamental ● Machine learning y cómputo distribuido - Algunos conceptos ● Recordando el ciclo del científico de datos ● Weka y Spark MLlib - Herramientas para implementar soluciones ● Roadmap - Solución al caso de uso ● Demo: Un algoritmo de clasificación en Weka distribuido ● Conclusiones 3
  • 4. Caso de uso: MandiStore ● MandiStore, es una tienda departamental, que cuenta con una tarjeta departamental y un programa de lealtad. ● Cuenta con millones de registros que contienen la información socioeconómica de sus clientes, así como sus productos contratados y/o consumidos. ● Actualmente tiene un nuevo producto financiero que quiere ofrecer a sus clientes y a otros clientes potenciales. Su meta es lanzar una campaña de marketing efectiva, para ofrecer de forma personalizada su producto a clientes existentes y potenciales. La pregunta es: ¿Cuáles clientes van a estar interesados en el producto y cuáles no? 4
  • 5. Machine Learning Toma de decisiones basadas en datos. Actualiza modelos con nuevos datos. Algoritmos de clasificación. Aprendizaje automatizado. Cómputo Distribuido Conjunto de nodos organizados. Procesamiento de grandes volúmenes de datos. Resistente a fallos y concurrencia de datos ¿Me sirve utilizar machine learning en un entorno distribuido? En este caso sí, para aprovechar todos los datos y utilizar algoritmos distribuidos teniendo una visión hacia futuro. Machine learning y cómputo distribuido 5 Para responder a esta pregunta, utilizamos el siguiente enfoque:
  • 6. Una solución de ciencia de datos es compleja. Preparación y análisis exploratorio de datos. Keywords: Limpieza, perfilado, ingeniería de características, estadísticas descriptivas. Recordando el ciclo del científico de datos Generación y evaluación de modelos. Keywords: Clasificación, regresión, clustering. Implementación y automatización de modelos 6
  • 7. ¡Weka se puede utilizar en un entorno distribuido! Distribuye los datos y/o las tareas en distintos nodos de forma local o remota. Utiliza algoritmos de Spark MLlib y de Weka en este mismo entorno. Weka Minero de datos de código abierto desarrollado en la Universidad de Waikato, en Nueva Zelanda. Weka y Spark MLlib 7 Spark MLlib Biblioteca de algoritmos de aprendizaje de máquina para cómputo distribuido. Utilizamos las siguientes herramientas para encontrar una solución.
  • 8. Weka hace transparente el uso de algunas funcionalidades de Spark Bondades del cómputo distribuido en Weka Distribución de datos Generación de modelos Resultado Data Set Data Set Entrenar modelo Entrenar modelo 1. Modelo Incremental. 2. Ensemble de modelos. Score Tareas MAP Tareas REDUCERDD 8 La interfaz gráfica permite entender el flujo de datos y tareas. Los objetos de Weka encapsulan las capacidades de Spark.
  • 9. Preparación y análisis exploratorio de los datos… ● Pentaho Data Integration (PDI): preparación de datos e ingeniería de características. ● Weka y R-tidyverse: EDA. ● Weka: Tratamiento de valores nulos. Roadmap: Preparación de datos y EDA 9
  • 10. Generación y evaluación de modelos... ● Entrenamiento de diversos modelos con una muestra de los datos (400,000). ● Entrenamiento de tres modelos con todos los datos disponibles (9,000,000). ● Gradient Boosted Trees, Decision Tree, Random Forest. ● Evaluación de modelos (seleccionando el modelo con menor número de falsos negativos). Roadmap: Entrenamiento y evaluación Modelo Precision Recall F- Meassure AUC TP TN FP FN MLlibGradientBoosted Trees 0.985 0.985 0.985 0.943 0.074 0.910 0.006 0.009 MLlibRandomForest 0.982 0.982 0.982 0.925 0.071 0.911 0.0056 0.012 MLlibDecisionTree 0.983 0.983 0.983 0.926 0.071 0.912 0.005 0.012 10
  • 11. Roadmap: Implementación en productivo La implementación en productivo de un modelo de machine learning no es trivial. Para fines de esta presentación no se considera esa etapa del ciclo de solución. 11
  • 12. Demo ● Ejemplo del análisis exploratorio de datos (correlaciones con datos faltantes). ● Generación de modelos con Weka KnowledgeFlow. ● Evaluación de un modelo con Weka Explorer. 12
  • 13. Conclusiones ● Weka es… ○ un sistema gráfico con objetos que, ○ permite usar algoritmos de aprendizaje de máquina sin escribir código, además ○ el diseño de flujos es fácil de interpretar. ● Weka y Spark MLlib tienen diversos beneficios para manejar grandes volúmenes de información, en particular, este ejercicio es escalable con archivos en Hadoop (de local a un cluster). 13