SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
RaúlGarreta
Tryolabs/ Fing Udelar
@raulgarreta
PyConUruguay 2012
 ¿Qué es AprendizajeAutomático (AA) ?
 ¿Qué se puede hacer conAA?
 Herramientasde AA en Python
 Ejemplos
 Subárea dentro de Inteligencia
Artificial.
 Estudia algoritmos que tienen la
capacidad de aprender a realizar una
tarea automáticamente.
 Mejoransu performance con la
experiencia.
 Permitenresolver tareascomplejas,
cuya solución es muy difícil o
imposible de realizar manualmente.
 Aprendizaje como aspecto
fundamentalen la Inteligencia.
 Procesamientode Lenguaje Natural
 SpamFiltering
 VisiónArtificial
 Reconocimiento de Rostros
 OCR
 JugadoresArtificiales
 Data Mining
 Sistemas de Recomendación
 Y mucho, mucho más…
 Mejorar en una tarea T
 Respecto a una medida de performance P
 Basándoseen la experiencia E
 Supervisado
 Clasificación
▪ Árbolesde decisión
▪ Naive Bayes
▪ SVM
▪ …
 Regresión
▪ RedesNeuronales
▪ …
 NoSupervisado
 Clustering
▪ KNN
▪ SOM
 PorRefuerzos
 Temporal Difference
 T: clasificar mails en Spam / No Spam
 P: porcentaje de mails correctamente
clasificados
 E: ver una muestra de mails clasificados
manualmentepor el usuario como Spam / No
Spam
 ¿Qué es lo que se aprende y cómo se modela?
 V: Mail-> {Spam, No Spam}
 V(m1) = Spam, si m1 es mail de spam
 V(m2) = No Spam, si m2 es mail de interés
 V = f(aparece la palabra “viagra”, el remitente está
en mi lista de contactos?, #que aparece la palabra
“compre”, …)
 f = función lineal? Función polinomial de 2do
grado? Red neuronal? Árbol de Decisión? …
 ¿Con qué algoritmo se aprende?
 Esto muchas veces depende de la
representación/modeloque se va a utilizar
 Si modelo con una Red Neuronal -> puedo
utilizar Backpropagation
 Si modelo con un Árbol de Decisión -> puedo
utilizar ID3
 Si utilizo un modelo probabilístico -> estimar las
probabilidades contando frecuencias.
 …
 Qué tipo de entrenamiento se utiliza?
 Supervisado: tengo ejemplos etiquetados,
una base de mails ya clasificadoscomo spam
/ no spam.
 Utilizoesta base como conjunto de
entrenamiento.
 Puedo particionar en entrenamiento/ testeo
para aprender y testear respectivamente.
Ejemplo:70% para entrenamiento,30%
testeo
 FeatureSelection: cual es el input del algoritmo,
como represento un ejemplo, cuales son las
característicasimportantes a considerar para
clasificar.
 Medidas de Performance: ¿cómo sé si el sistema
realmente funciona bien? ¿cómo sé si el sistema
mejora si realizo modificaciones?
 Train set /Testing set
 Precision, Recall, Medida F
 Matrizde Confusión
 Haymuchas opciones:
 Orange http://orange.biolab.si/
 NLTK http://nltk.org/
 Mlpy http://mlpy.sourceforge.net/
 Pyml http://pyml.sourceforge.net/
 Pybrain http://pybrain.org/
 Scikit-learn http://scikit-learn.org/
 ¿Cómo implementarnuestro spam filter en
Pythonen 6 pasos sencillos?
 UtilizaremosScikit-learn
 Necesitamosrecolectar ejemplos de entrenamiento.
 Mails etiquetadoscomo spam / ham
 Exportar mis mails de mi cuenta de gmail
messages
ham
ham1.txt
ham2.txt
...
spam
spam1.txt
spam2.txt
...
data_samples =
load_files(container_path='/path/to/messages',
shuffle=True)
SPLIT_PERC = 0.6
train_size = int(len(data_samples.data)*SPLIT_PERC)
data_train = data_samples.data[:train_size]
data_test = data_samples.data[train_size:]
y_train = data_samples.target[:train_size]
y_test = data_samples.target[train_size:]
vectorizer = TfidfVectorizer(sublinear_tf=True,
strip_accents='ascii')
x_train = vectorizer.fit_transform(data_train)
x_test = vectorizer.transform(data_test)
classifier = MultinomialNB()
classifier.fit(x_train, y_train)
pred = classifier.predict(x_test)
metrics.precision_score(y_test, pred)
metrics.recall_score(y_test, pred)
metrics.f1_score(y_test, pred)
metrics.confusion_matrix(y_test, pred)
 Web:
 Scikit-learn
http://scikit-learn.org/stable/auto_examples
 Streamhacker.com
 Libros:
 NLTKbook,NLTK cookbook
 Machine Learning,Tom Mitchel
 Cursos:
 Udelar
http://www.fing.edu.uy/inco/cursos/aprendaut/
 StanfordUniversity
https://www.coursera.org/course/ml
 WashingtonUniversity
https://www.coursera.org/course/machlearning
¿Preguntas?

Contenu connexe

Tendances

11 алг мерзляк_номіровський_1_углубл_2011_укр
11 алг мерзляк_номіровський_1_углубл_2011_укр11 алг мерзляк_номіровський_1_углубл_2011_укр
11 алг мерзляк_номіровський_1_углубл_2011_укр
Aira_Roo
 
ENSAYO DE LA INTEGRALES EN EL AREA DE LA INGENIERIA
ENSAYO DE LA INTEGRALES EN EL AREA DE LA INGENIERIAENSAYO DE LA INTEGRALES EN EL AREA DE LA INGENIERIA
ENSAYO DE LA INTEGRALES EN EL AREA DE LA INGENIERIA
ederth45
 
Planteamiento de hipotesis
Planteamiento de hipotesisPlanteamiento de hipotesis
Planteamiento de hipotesis
AGENCIAS2
 
самостійна робота на тему "Теорема синусів та її наслідки"
самостійна робота на тему "Теорема синусів та її наслідки"самостійна робота на тему "Теорема синусів та її наслідки"
самостійна робота на тему "Теорема синусів та її наслідки"
natasha29091997
 

Tendances (13)

Números complejos
Números complejosNúmeros complejos
Números complejos
 
Método de la secante
Método de la secante Método de la secante
Método de la secante
 
Tabla t Student
Tabla t StudentTabla t Student
Tabla t Student
 
11 алг мерзляк_номіровський_1_углубл_2011_укр
11 алг мерзляк_номіровський_1_углубл_2011_укр11 алг мерзляк_номіровський_1_углубл_2011_укр
11 алг мерзляк_номіровський_1_углубл_2011_укр
 
Analisis de varianza de un factor con Excel – tutorial
Analisis de varianza de un factor con Excel – tutorialAnalisis de varianza de un factor con Excel – tutorial
Analisis de varianza de un factor con Excel – tutorial
 
Tablas de distribucion normal con la probabilidad definitiva - Con todos los ...
Tablas de distribucion normal con la probabilidad definitiva - Con todos los ...Tablas de distribucion normal con la probabilidad definitiva - Con todos los ...
Tablas de distribucion normal con la probabilidad definitiva - Con todos los ...
 
ENSAYO DE LA INTEGRALES EN EL AREA DE LA INGENIERIA
ENSAYO DE LA INTEGRALES EN EL AREA DE LA INGENIERIAENSAYO DE LA INTEGRALES EN EL AREA DE LA INGENIERIA
ENSAYO DE LA INTEGRALES EN EL AREA DE LA INGENIERIA
 
Tabla z
Tabla zTabla z
Tabla z
 
Planteamiento de hipotesis
Planteamiento de hipotesisPlanteamiento de hipotesis
Planteamiento de hipotesis
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Método de Neville.pdf
Método de Neville.pdfMétodo de Neville.pdf
Método de Neville.pdf
 
самостійна робота на тему "Теорема синусів та її наслідки"
самостійна робота на тему "Теорема синусів та її наслідки"самостійна робота на тему "Теорема синусів та її наслідки"
самостійна робота на тему "Теорема синусів та її наслідки"
 
завдання з параметрами
завдання з параметрамизавдання з параметрами
завдання з параметрами
 

Similaire à Aprendizaje Automático con Python

Algoritmos y estructura de datos
Algoritmos y estructura de datosAlgoritmos y estructura de datos
Algoritmos y estructura de datos
Lily- XztrzitA-
 
UTPL-PROGRAMACIÓN DE ALGORITMOS-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN DE ALGORITMOS-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN DE ALGORITMOS-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN DE ALGORITMOS-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
Videoconferencias UTPL
 

Similaire à Aprendizaje Automático con Python (20)

Aprendizaje Automàtico - Introduccion a Machine Learning
Aprendizaje Automàtico - Introduccion a Machine LearningAprendizaje Automàtico - Introduccion a Machine Learning
Aprendizaje Automàtico - Introduccion a Machine Learning
 
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
 
Algoritmos y estructura de datos
Algoritmos y estructura de datosAlgoritmos y estructura de datos
Algoritmos y estructura de datos
 
Fundamentos IA
Fundamentos IAFundamentos IA
Fundamentos IA
 
El aprendizaje automático es divertido
El aprendizaje automático es divertidoEl aprendizaje automático es divertido
El aprendizaje automático es divertido
 
Introducción a Machine Learning
Introducción a Machine LearningIntroducción a Machine Learning
Introducción a Machine Learning
 
Machine Learning.pptx
Machine Learning.pptxMachine Learning.pptx
Machine Learning.pptx
 
El Libro de la Inteligencia Artificial (versión 8)
El Libro de la Inteligencia Artificial (versión 8)El Libro de la Inteligencia Artificial (versión 8)
El Libro de la Inteligencia Artificial (versión 8)
 
Machine Learning.pptx
Machine Learning.pptxMachine Learning.pptx
Machine Learning.pptx
 
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
 
UTPL-PROGRAMACIÓN DE ALGORITMOS-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN DE ALGORITMOS-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN DE ALGORITMOS-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN DE ALGORITMOS-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
 
Técnicas de Inteligencia Artificial
Técnicas de Inteligencia Artificial Técnicas de Inteligencia Artificial
Técnicas de Inteligencia Artificial
 
Clase Inteligencia Artificial Unidad 3
Clase Inteligencia Artificial Unidad 3Clase Inteligencia Artificial Unidad 3
Clase Inteligencia Artificial Unidad 3
 
Machine Learning.pptx
Machine Learning.pptxMachine Learning.pptx
Machine Learning.pptx
 
El Libro de la Inteligencia Artificial (versión 5)
El Libro de la Inteligencia Artificial (versión 5)El Libro de la Inteligencia Artificial (versión 5)
El Libro de la Inteligencia Artificial (versión 5)
 
Recommenders
RecommendersRecommenders
Recommenders
 
EMBD2018 | Autotuning en modelos de Machine Learning
EMBD2018 | Autotuning en modelos de Machine LearningEMBD2018 | Autotuning en modelos de Machine Learning
EMBD2018 | Autotuning en modelos de Machine Learning
 
Aprendizaje de máquina
Aprendizaje de máquinaAprendizaje de máquina
Aprendizaje de máquina
 
Introduccion-de-Machine-Learning-Con-Python (2).pptx
Introduccion-de-Machine-Learning-Con-Python (2).pptxIntroduccion-de-Machine-Learning-Con-Python (2).pptx
Introduccion-de-Machine-Learning-Con-Python (2).pptx
 
Clase2
Clase2Clase2
Clase2
 

Dernier

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

Dernier (10)

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.
 
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
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
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...
 
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
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 

Aprendizaje Automático con Python

  • 2.  ¿Qué es AprendizajeAutomático (AA) ?  ¿Qué se puede hacer conAA?  Herramientasde AA en Python  Ejemplos
  • 3.  Subárea dentro de Inteligencia Artificial.  Estudia algoritmos que tienen la capacidad de aprender a realizar una tarea automáticamente.  Mejoransu performance con la experiencia.  Permitenresolver tareascomplejas, cuya solución es muy difícil o imposible de realizar manualmente.  Aprendizaje como aspecto fundamentalen la Inteligencia.
  • 4.  Procesamientode Lenguaje Natural  SpamFiltering
  • 7.  Sistemas de Recomendación  Y mucho, mucho más…
  • 8.  Mejorar en una tarea T  Respecto a una medida de performance P  Basándoseen la experiencia E
  • 9.  Supervisado  Clasificación ▪ Árbolesde decisión ▪ Naive Bayes ▪ SVM ▪ …  Regresión ▪ RedesNeuronales ▪ …  NoSupervisado  Clustering ▪ KNN ▪ SOM  PorRefuerzos  Temporal Difference
  • 10.  T: clasificar mails en Spam / No Spam  P: porcentaje de mails correctamente clasificados  E: ver una muestra de mails clasificados manualmentepor el usuario como Spam / No Spam
  • 11.  ¿Qué es lo que se aprende y cómo se modela?  V: Mail-> {Spam, No Spam}  V(m1) = Spam, si m1 es mail de spam  V(m2) = No Spam, si m2 es mail de interés  V = f(aparece la palabra “viagra”, el remitente está en mi lista de contactos?, #que aparece la palabra “compre”, …)  f = función lineal? Función polinomial de 2do grado? Red neuronal? Árbol de Decisión? …
  • 12.  ¿Con qué algoritmo se aprende?  Esto muchas veces depende de la representación/modeloque se va a utilizar  Si modelo con una Red Neuronal -> puedo utilizar Backpropagation  Si modelo con un Árbol de Decisión -> puedo utilizar ID3  Si utilizo un modelo probabilístico -> estimar las probabilidades contando frecuencias.  …
  • 13.  Qué tipo de entrenamiento se utiliza?  Supervisado: tengo ejemplos etiquetados, una base de mails ya clasificadoscomo spam / no spam.  Utilizoesta base como conjunto de entrenamiento.  Puedo particionar en entrenamiento/ testeo para aprender y testear respectivamente. Ejemplo:70% para entrenamiento,30% testeo
  • 14.  FeatureSelection: cual es el input del algoritmo, como represento un ejemplo, cuales son las característicasimportantes a considerar para clasificar.  Medidas de Performance: ¿cómo sé si el sistema realmente funciona bien? ¿cómo sé si el sistema mejora si realizo modificaciones?  Train set /Testing set  Precision, Recall, Medida F  Matrizde Confusión
  • 15.  Haymuchas opciones:  Orange http://orange.biolab.si/  NLTK http://nltk.org/  Mlpy http://mlpy.sourceforge.net/  Pyml http://pyml.sourceforge.net/  Pybrain http://pybrain.org/  Scikit-learn http://scikit-learn.org/
  • 16.  ¿Cómo implementarnuestro spam filter en Pythonen 6 pasos sencillos?  UtilizaremosScikit-learn
  • 17.  Necesitamosrecolectar ejemplos de entrenamiento.  Mails etiquetadoscomo spam / ham  Exportar mis mails de mi cuenta de gmail messages ham ham1.txt ham2.txt ... spam spam1.txt spam2.txt ...
  • 19. SPLIT_PERC = 0.6 train_size = int(len(data_samples.data)*SPLIT_PERC) data_train = data_samples.data[:train_size] data_test = data_samples.data[train_size:] y_train = data_samples.target[:train_size] y_test = data_samples.target[train_size:]
  • 20. vectorizer = TfidfVectorizer(sublinear_tf=True, strip_accents='ascii') x_train = vectorizer.fit_transform(data_train) x_test = vectorizer.transform(data_test)
  • 22. pred = classifier.predict(x_test) metrics.precision_score(y_test, pred) metrics.recall_score(y_test, pred) metrics.f1_score(y_test, pred) metrics.confusion_matrix(y_test, pred)
  • 23.  Web:  Scikit-learn http://scikit-learn.org/stable/auto_examples  Streamhacker.com  Libros:  NLTKbook,NLTK cookbook  Machine Learning,Tom Mitchel  Cursos:  Udelar http://www.fing.edu.uy/inco/cursos/aprendaut/  StanfordUniversity https://www.coursera.org/course/ml  WashingtonUniversity https://www.coursera.org/course/machlearning