SlideShare una empresa de Scribd logo
1 de 22
Aprendizaje de Máquina
(Machine Learning)
Presenta:
Carlos Zubieta
Introducción a ciencia de
datos
para ingenieros de software
1
Carlos Eduardo Zubieta Rico
Ingeniero de Datos @ Wizeline
@zubieta
Qué es ciencia de datos (data science)?
http://drewconway.com/zia/2013/3/26/the-data-science-venn-di
agram
3
Machine
__LearningData
Analysis
Probability
and
statistics Visualizatio
n
Codin
g
Wranglin
g
Scrapin
g
Algorithm
s
Aprendizaje de Máquina
(Machine Learning)
Proceso de aprendizaje
5
Las máquinas pueden aprender de manera probabilística. Para más información,
visita:
https://www.youtube.com/watch?v=MEG35RDD7RA
Para hacer machine learning se
necesita:
- Datos
- Una meta
- Un patrón escondido entre los datos
Observationes Modelo
Más
observationes
Confirmació
n del Modelo
Refinamient
o del Model
6
Aprendizaje
supervisado
Aprendizaje no
supervisado
Clasificación Regresión
Clustering
(agrupamiento)
Aprendizaje de
Máquina
Reducción de la
dimensionalida
d
Clustering usando
agrupamiento jerárquico
aglomerativo
Aprendizaje no supervisado
Problema:
Consolidación de pins en un mapa
Introducción
• Dado un conjunto de n objetos, descritos por p características, el análisis
aglomerativo intenta descubrir grupos (clusters) homogéneos y que estén
separados de otros grupos.
Ejemplo: En el kinder, los objetos los ordenaba basados en forma, tamaño
o color.
Clasificación de los algoritmos:
Estructura anidada
• Los métodos jerárquicos generan una secuencia anidada de particiones
con nodos simples hasta abajo y un grupo que contiene todo hasta arriba.
• Los métodos planos crean un particionamiento de los datos con un solo
nivel.
Clasificación de los algoritmos:
Superposición de los grupos
• En el agrupamiento nítido (duro) cada objeto se asigna exactamente a una
partición.
• En el agrupamiento borroso (suave) cada objeto puede pertenecer a varias
particiones; donde un vector de probabilidades indica el grado de
asociación a cada una.
Consideraciones
• ¿Qué características deben de incluirse para realizar el agrupamiento?
• ¿Cómo debe de medirse la similitud entre los objetos?
• ¿Qué algoritmo debe de usarse?
• ¿Cómo se deben de interpretar y validar los resultados?
Medidas de similitud
• El agrupamiento jerárquico requiere de una matriz de adyacencias
(distancias).
• Una función puede ser considerada una medida de distancia entre dos
objetos si se cumplen las siguientes reglas:
• No negatividad
• Igualdad entre indiscernibles
• Simetria
• Desigualdad del triángulo (eficiencia)
• La distancia euclidiana es la medida usada más comúnmente para valores
continuos.
Procedimientos de agrupamiento:
Enlace simple
• En el enlace simple (vecino más cercano) los grupos de crean de acuerdo
a la distancia entre entre sus miembros más cercanos.
Procedimientos de agrupamiento:
Enlace completo
• En el enlace completo (vecino más lejano) la distancia entre los grupos se
define como la distancia entre sus miembros más alejados.
Procedimientos de agrupamiento:
Enlace promedio
• En el enlace promedio la distancia entre grupos se define como la
distancia promedio entre todos sus pares de miembros.
Ejemplo:
Distancia euclidiana y enlace simple
A B C D E F G H I J K L M N
A B
C
DE
F
G
H I
J
K
N
L
M
DENDROGRA
M
Distance
ReProblema:
Consolidación de pins en un mapa
from scipy.cluster.hierarchy import linkage, fcluster
import numpy as np
coordinates = np.array([
[9.21188389, -0.15188589],
[8.88937431, -0.33937464],
[10.76840064, 2.95244645],
[8.24213268, 1.29094802],
[5.7967009, -5.83776714],
[6.3499309, 0.63959515]
])
links = linkage(coordinates, ‘single’)
max_distance = 5
clusters = fcluster(links, max_distance,
criterion='distance')
print(clusters)
# [1 1 1 1 2]
Otras aplicaciones de agrupación
• Agrupamiento de documentos por tema.
• Detección de fraudes/ataques.
• Compresión de imágenes (indexado).
• Segmentación de clientes para campañas de marketing
• Taxonomia numerica
• Expresión de genes
Selección de algoritmos
http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
Gracias
Carlos Zubieta
Carlos Zubieta carlos.zubieta@wizel
ine.com

Más contenido relacionado

Similar a Introducción a ciencia de datos para ingenieros en software

Similar a Introducción a ciencia de datos para ingenieros en software (20)

Pass - Algoritmos de clasificacion
Pass - Algoritmos de clasificacionPass - Algoritmos de clasificacion
Pass - Algoritmos de clasificacion
 
Introducción al Machine Learning con BigML
Introducción al Machine Learning con BigMLIntroducción al Machine Learning con BigML
Introducción al Machine Learning con BigML
 
Técnicas de Inteligencia Artificial
Técnicas de Inteligencia Artificial Técnicas de Inteligencia Artificial
Técnicas de Inteligencia Artificial
 
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADOAPRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
 
Minería de datos
Minería de datosMinería de datos
Minería de datos
 
cuadro_comparativo_inteligencia.pdf
cuadro_comparativo_inteligencia.pdfcuadro_comparativo_inteligencia.pdf
cuadro_comparativo_inteligencia.pdf
 
El algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datosEl algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datos
 
El algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datosEl algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datos
 
Minería de datos
Minería de datosMinería de datos
Minería de datos
 
BigData 101 / Cursillo (Parte3)
BigData 101 / Cursillo (Parte3)BigData 101 / Cursillo (Parte3)
BigData 101 / Cursillo (Parte3)
 
Machine learning
Machine learningMachine learning
Machine learning
 
Introduccin_a_la_Minera_de_Datos_M_cc_v2.pptx
Introduccin_a_la_Minera_de_Datos_M_cc_v2.pptxIntroduccin_a_la_Minera_de_Datos_M_cc_v2.pptx
Introduccin_a_la_Minera_de_Datos_M_cc_v2.pptx
 
Algoritmos - Jordi Gironés Roig
Algoritmos - Jordi Gironés RoigAlgoritmos - Jordi Gironés Roig
Algoritmos - Jordi Gironés Roig
 
Machine Learning para proyectos de seguridad(Pycon)
Machine Learning para proyectos de seguridad(Pycon)Machine Learning para proyectos de seguridad(Pycon)
Machine Learning para proyectos de seguridad(Pycon)
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx
 
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
 
Técnicas de análisis: Clustering
Técnicas de análisis: ClusteringTécnicas de análisis: Clustering
Técnicas de análisis: Clustering
 
Que es Azure Machine Learning 2015
Que es Azure Machine Learning 2015Que es Azure Machine Learning 2015
Que es Azure Machine Learning 2015
 
REDES NEURONALES.pptx
REDES NEURONALES.pptxREDES NEURONALES.pptx
REDES NEURONALES.pptx
 

Más de Software 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

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (10)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

Introducción a ciencia de datos para ingenieros en software

  • 1. Aprendizaje de Máquina (Machine Learning) Presenta: Carlos Zubieta
  • 2. Introducción a ciencia de datos para ingenieros de software 1 Carlos Eduardo Zubieta Rico Ingeniero de Datos @ Wizeline @zubieta
  • 3. Qué es ciencia de datos (data science)? http://drewconway.com/zia/2013/3/26/the-data-science-venn-di agram 3 Machine __LearningData Analysis Probability and statistics Visualizatio n Codin g Wranglin g Scrapin g Algorithm s
  • 5. Proceso de aprendizaje 5 Las máquinas pueden aprender de manera probabilística. Para más información, visita: https://www.youtube.com/watch?v=MEG35RDD7RA Para hacer machine learning se necesita: - Datos - Una meta - Un patrón escondido entre los datos Observationes Modelo Más observationes Confirmació n del Modelo Refinamient o del Model
  • 9. Introducción • Dado un conjunto de n objetos, descritos por p características, el análisis aglomerativo intenta descubrir grupos (clusters) homogéneos y que estén separados de otros grupos. Ejemplo: En el kinder, los objetos los ordenaba basados en forma, tamaño o color.
  • 10. Clasificación de los algoritmos: Estructura anidada • Los métodos jerárquicos generan una secuencia anidada de particiones con nodos simples hasta abajo y un grupo que contiene todo hasta arriba. • Los métodos planos crean un particionamiento de los datos con un solo nivel.
  • 11. Clasificación de los algoritmos: Superposición de los grupos • En el agrupamiento nítido (duro) cada objeto se asigna exactamente a una partición. • En el agrupamiento borroso (suave) cada objeto puede pertenecer a varias particiones; donde un vector de probabilidades indica el grado de asociación a cada una.
  • 12. Consideraciones • ¿Qué características deben de incluirse para realizar el agrupamiento? • ¿Cómo debe de medirse la similitud entre los objetos? • ¿Qué algoritmo debe de usarse? • ¿Cómo se deben de interpretar y validar los resultados?
  • 13. Medidas de similitud • El agrupamiento jerárquico requiere de una matriz de adyacencias (distancias). • Una función puede ser considerada una medida de distancia entre dos objetos si se cumplen las siguientes reglas: • No negatividad • Igualdad entre indiscernibles • Simetria • Desigualdad del triángulo (eficiencia) • La distancia euclidiana es la medida usada más comúnmente para valores continuos.
  • 14. Procedimientos de agrupamiento: Enlace simple • En el enlace simple (vecino más cercano) los grupos de crean de acuerdo a la distancia entre entre sus miembros más cercanos.
  • 15. Procedimientos de agrupamiento: Enlace completo • En el enlace completo (vecino más lejano) la distancia entre los grupos se define como la distancia entre sus miembros más alejados.
  • 16. Procedimientos de agrupamiento: Enlace promedio • En el enlace promedio la distancia entre grupos se define como la distancia promedio entre todos sus pares de miembros.
  • 17. Ejemplo: Distancia euclidiana y enlace simple A B C D E F G H I J K L M N A B C DE F G H I J K N L M DENDROGRA M Distance
  • 18. ReProblema: Consolidación de pins en un mapa from scipy.cluster.hierarchy import linkage, fcluster import numpy as np coordinates = np.array([ [9.21188389, -0.15188589], [8.88937431, -0.33937464], [10.76840064, 2.95244645], [8.24213268, 1.29094802], [5.7967009, -5.83776714], [6.3499309, 0.63959515] ]) links = linkage(coordinates, ‘single’) max_distance = 5 clusters = fcluster(links, max_distance, criterion='distance') print(clusters) # [1 1 1 1 2]
  • 19. Otras aplicaciones de agrupación • Agrupamiento de documentos por tema. • Detección de fraudes/ataques. • Compresión de imágenes (indexado). • Segmentación de clientes para campañas de marketing • Taxonomia numerica • Expresión de genes
  • 22. Carlos Zubieta Carlos Zubieta carlos.zubieta@wizel ine.com