Curso Machine Learning Modulo 1
Curso Machine Learning Modulo 1
A LA
Naïve Bayes y maximum a posteriori por dentro
Utilizando K-Fold
Conclusión
Bibliografía
INTRODUCCIÓN
CLASIFICACIÓN
FEATURE (CARACTERÍSTICA)
FEATURE ENGINEERING
REGRESIÓN
SERGIO HERNÁN VALENZUELA CÁMARA - [email protected] - OPTIONSOFT 2019
EJEMPLOS DE REGRESIÓN
•Pronóstico de ventas
•Valor de cliente a futuro
•Predecir cantidad de lluvia
ASOCIACIÓN
E-MAILS
SERGIO HERNÁN VALENZUELA CÁMARA - [email protected] - OPTIONSOFT 2019
Otra manera es hablarle a un programa para que
haga eso por mí: “Programa por favor, clasifique
este email, si él es spam o no es spam”.
Mas un programa (un computador) … ¿sabe qué es
un spam?
Nosotros sabemos que es un spam: “ correo no
deseado que no pedimos para recibir y que
alguien , el computador envió”.
Pero, el , no tiene la mínima idea de lo que significa
spam,
Entonces … ¿qué necesitamos?
.
E-MAILS
SERGIO HERNÁN VALENZUELA CÁMARA - [email protected] - OPTIONSOFT 2019
Necesitamos de alguna manera, decirle al computador que es spam y que
no es spam … más el computador no conoce la palabra spam, entonces …
¿cómo podemos hacer eso?
¿cuál es el lenguaje que el computador conoce?
El computador entiende apenas 0 o 1, 01,2,3,4,… Binarios, numéricos, etc.
Si el computador sólo entiende esos números, entonces vamos a pedir que
el computador diga si es spam es 1. Si no es spam me diga 0, y ya está
resuelto el problema de la palabra spam.
Ya simplificamos para que el computador nos entienda, él ya sabe ahora
!!! que si le decimos mira ese e-mail “Facturas impagas”, él es … 1 ó 0.
Esto es, necesitamos ahora ver cada uno de los e-mails, ver y decir: “Todas
impagas” (spam) es 1.
Necesitamos enseñarle al computador, … ENTRENARLO !!!
E-MAILS
SERGIO HERNÁN VALENZUELA CÁMARA - [email protected] - OPTIONSOFT 2019
¿ Cómo sabes si un email es
E-MAILS spam o no ?
E-MAILS
CLASIFICACIÓN
1 1 1 1
1 0 1 1
1 1 0 1
SERGIO HERNÁN VALENZUELA CÁMARA - [email protected] - OPTIONSOFT 2019
Para cada elemento de la tabla,
anotamos la característica ( feature), osea,
si tiene pierna corta, si es gordo o si dice oink oink, y
diciendo apenas sí o no anotamos 1 ó 0
¿ y al final qué tipo de animal es ?
… si es cerdo (1) o perro (0).
Todavía faltan tres animales que debemos analizar …
¿ continuamos ?
SERGIO HERNÁN VALENZUELA CÁMARA - [email protected] - OPTIONSOFT 2019
¿ Él tiene pierna corta ? … No, anotamos 0.
¿ Él es gordo ? … No, asignamos 0.
¿ Él dice oink oink ? … No, marcamos 0.
1 1 1 1
1 0 1 1
1 1 0 1
0 0 0 0
1 1 1 0
0 0 0
SERGIO HERNÁN VALENZUELA CÁMARA - [email protected] - OPTIONSOFT 2019
0
La anterior tabla define las características de
los animales por medio de las tres primeras
columnas(pierna corta, gordo, dice oink oink).
La última columna (¿ qué es ?) clasifica el
animal.
Estamos usando las características (features)
CLASIFICACIÓN para clasificar un animal entre dos tipos.
ANIMALES Y Podríamos usar esas características u otras
para clasificar un e-mail entre spam y no
EMAILS spam, por ejemplo: tamaño e-mail; palabras
que aparecen; horario en que fue enviado; si
conozco o no al remitente; si es la primera vez
que llega ese e-mail.
SERGIO HERNÁN VALENZUELA CÁMARA - [email protected] - OPTIONSOFT 2019
En el cotidiano día a día en el campo usamos las tres características
descritas anteriormente para clasificar animales, pero; podríamos usar
otras como:
•¿ es color rosa ?
•¿ es color negro ?
•¿ es color blanco ?
•¿ es color azul ?
•¿ es color X ?
•El color puede influir para para decir si es un animal u otro. Existen
animales de un color y también de otro color.
CLASIFICACIÓN
CLASIFICACIÓN
ENTRENAMIENTO
¿ y éste de aquí , quién es ?
RESUMIENDO …
PYTHON perro1 = [ 1, 1, 1 ]
perro2 = [ 1, 0, 1 ]
perro3 = [ 1, 0, 1 ]
datos=[cerdo1,cerdo2,cerdo3,perro1,perro2,perro3]
etiquetas=[1,1,1,-1,-1,-1]
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
print (modelo.predict(misterioso2))
… vemos nuestro código:
SKLEARN
SKLEARN
SKLEARN
SKLEARN
SKLEARN
… 100% pero … siempre es bueno recordar que 100.0 es un número muy difícil que
se pueda dar en el mundo real. Un ejemplo bien simple que demuestra que nuestro
algoritmo erra, sería modificar los valores de nuestra variable etiquetas_testeo,
haciendo que el último elemento misterioso era un cerdo que decía guau guau:
etiquetas_testeo = [ -1, 1, 1 ]