Tabla de Contenidos
Machine Learning
También conocido como aprendizaje automático, es una disciplina que estudia y desarrolla algoritmos para aprender de la información o hacer predicciones sobre la información.
Ejemplos de posibles aplicaciones:
- Decidir si un e-mail entrante es spam o no.
- Analizar transacciones bancarias para identificar intentos de fraude.
Tipos de aprendizaje
Aprendizaje supervisado
A partir de un conjunto de datos ya etiquetados, el algoritmos predice la etiqueta que le corresponderá a la nueva información que no es conocida previamente.
Por ejemplo, en la detección de spam, se podría entrenar un algoritmo con mails etiquetados como spam o no spam y que sea capaz de identificar si los nuevos e-mails corresponderá a spam o no spam.
Aprendizaje no supervisado
A partir de un conjunto de datos sin clasificar/etiquetar, el algoritmo encuentra la estructura escondida en los datos.
Terminología
- Sample (muestra): representación del objeto a tratar (email, transacción, conductores…)
- Feature: características de la muestra (edad, sexo del conductor…)
- Label / target: resultado deseado (ground truth) asociado con la muestra de entrada (spam o no spam, sobrevivió o no sobrevivió)
- Training data: conjunto de pares (muestra, etiqueta) utilizados para entrenar el modelo.
- Test data: conjunto de muestras usado para realizar predicciones.
Evaluación
Matriz de confusión.
Métricas:
- Acierto: (#TP + #TN) / total
- Precisión: #TP / (#TP + #FP)
- Recall: #TP / (#TP + #FN)
La precisión nos indica cuánto de lo que hemos predicho es correcto y recall cuánto de lo que es correcto, lo ha predicho el algoritmo.
En Python el módulo scikit-learn es muy usado para trabajar con aprendizaje supervisado. Ejemplo: https://github.com/bonzanini/VideoCourse-DataAnalysisPython/blob/master/notebooks/Video%204.3%20-%20Supervised%20Learning%20with%20scikit-learn.ipynb
