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

Más contenido relacionado

Similar a Aprendizaje Automático con Python

El aprendizaje automático es divertido
El aprendizaje automático es divertidoEl aprendizaje automático es divertido
El aprendizaje automático es divertidoCarlos Duarte
 
Introducción a Machine Learning
Introducción a Machine LearningIntroducción a Machine Learning
Introducción a Machine LearningFerran Prat Tió
 
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)Alfredo Vela Zancada
 
Machine Learning.pptx
Machine Learning.pptxMachine Learning.pptx
Machine Learning.pptxManuel Duque
 
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 BigMLMSc Aldo Valdez Alvarado
 
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
 
Técnicas de Inteligencia Artificial
Técnicas de Inteligencia Artificial Técnicas de Inteligencia Artificial
Técnicas de Inteligencia Artificial Gina Mejía
 
Clase Inteligencia Artificial Unidad 3
Clase Inteligencia Artificial Unidad 3Clase Inteligencia Artificial Unidad 3
Clase Inteligencia Artificial Unidad 3K Reyes
 
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)Alfredo Vela Zancada
 
Recommenders
RecommendersRecommenders
Recommendersbcurtu
 
Aprendizaje de máquina
Aprendizaje de máquinaAprendizaje de máquina
Aprendizaje de máquinaHugo Banda
 
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).pptxJorge293
 
Machine Learning. Introducción.pptx
Machine Learning. Introducción.pptxMachine Learning. Introducción.pptx
Machine Learning. Introducción.pptxJorgedelCastilloGmez
 
Mineria de Datos.pdf
Mineria de Datos.pdfMineria de Datos.pdf
Mineria de Datos.pdfhenry913654
 

Similar a Aprendizaje Automático con Python (20)

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
 
Machine Learning. Introducción.pptx
Machine Learning. Introducción.pptxMachine Learning. Introducción.pptx
Machine Learning. Introducción.pptx
 
Mineria de Datos.pdf
Mineria de Datos.pdfMineria de Datos.pdf
Mineria de Datos.pdf
 
presentacion.pdf
presentacion.pdfpresentacion.pdf
presentacion.pdf
 

Último

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
 
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
 
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
 
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.pdfcj3806354
 
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
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
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
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxLeidyfuentes19
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.sofiasonder
 
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
 
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
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometriasofiasonder
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdfIsabelHuairaGarma
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerRobertoCarrancioFern
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
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
 
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
 

Último (20)

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
 
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
 
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
 
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
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
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
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. 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
 
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
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
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
 
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
 

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