
Machine Learning in Action
Peter Harrington
- Editorial
- Manning
- Año
- 2012
- Páginas
- ~386
- Nivel
- Básico
De qué trata
Manual introductorio y clásico de referencia escrito por Peter Harrington que desmitifica el aprendizaje automático enseñando a programar los algoritmos más representativos directamente en Python utilizando NumPy, sin apoyarse en librerías prediseñadas de alto nivel como scikit-learn. Está orientado a programadores, ingenieros de software y entusiastas de los datos de nivel principiante a intermedio que cuentan con nociones elementales de estructuras de datos y lógica en Python, pero carecen de una base matemática formal o conocimientos previos en estadística avanzada.
El libro expone de manera pragmática los métodos centrales del machine learning distribuidos en cuatro partes: clasificación supervisada ($k$-Nearest Neighbors, árboles de decisión ID3, clasificación bayesiana con Naive Bayes, regresión logística con optimización de gradiente, Support Vector Machines con el algoritmo SMO de Platt y ensembles con AdaBoost); predicción de variables numéricas continuas (regresión lineal múltiple por mínimos cuadrados, regresión ponderada localmente LWLR, Ridge Regression, Lasso y árboles de regresión CART); minería y aprendizaje no supervisado (agrupamiento $k$-Means, extracción de reglas de asociación con Apriori y árboles de patrones frecuentes FP-Growth); y herramientas complementarias para simplificación y escala de datos (PCA, descomposición en valores singulares SVD y procesamiento distribuido de datos masivos con MapReduce a través de la librería mrjob).
Cada técnica se explica con la matemática estrictamente necesaria y se traslada inmediatamente a casos prácticos de la vida real: emparejamiento de perfiles en plataformas de citas, reconocimiento óptico de dígitos manuscritos, filtrado automático de spam y clasificación de anuncios clasificados, estimación de supervivencia del cólico equino, predicción de precios de conjuntos de Lego y sistemas de recomendación de platos en restaurantes. Aunque fue publicado originalmente en el entorno de Python 2 y no cubre arquitecturas de deep learning contemporáneas, aporta una intuición incalculable sobre el comportamiento interno de los algoritmos que sustenta cualquier aprendizaje moderno.
- Python
- NumPy
- k-Nearest Neighbors (k-NN)
- Árboles de decisión
- Naive Bayes
- Regresión logística
- Support Vector Machines (SVM)
- AdaBoost
- k-Means
- Apriori
- SVD y PCA
- MapReduce
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✓ Incluye proyectos
Proyectos
Clasificador de afinidad para citas y reconocimiento de dígitos manuscritos
Implementación en NumPy del algoritmo k-NN para puntuar compatibilidad de usuarios en un portal de citas y clasificar dígitos escritos a mano a partir de matrices binarias.
Filtro probabilístico de spam y anuncios por región
Modelo Naive Bayes entrenado sobre textos tokenizados de correos electrónicos y feeds RSS para identificar correo no deseado y patrones lingüísticos regionales.
Motor de recomendación de menús con SVD
Sistema de recomendación de filtrado colaborativo que aplica descomposición en valores singulares (SVD) sobre matrices dispersas de valoraciones gastronómicas.

