Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Hoy en día, el aprendizaje automático es parte integrante de muchas aplicaciones comerciales y proyectos de investigación, en ámbitos que van desde el diagnóstico y el tratamiento médicos hasta la búsqueda de tus amigos en las redes sociales. Mucha gente piensa que el aprendizaje automático sólo puede ser aplicado por grandes empresas con amplios equipos de investigación. En este libro, queremos mostrarte lo fácil que puede ser construir soluciones de aprendizaje automático por ti mismo, y la mejor forma de hacerlo. Con los conocimientos de este libro, puedes construir tu propio sistema para averiguar cómo se siente la gente en Twitter, o hacer predicciones sobre el calentamiento global. Las aplicaciones del aprendizaje automático son infinitas y, con la cantidad de datos disponibles hoy en día, están limitadas principalmente por tu imaginación.
Quién debería leer este libro
Este libro está dirigido a los profesionales actuales y aspirantes del aprendizaje automático que deseen aplicar soluciones a problemas de aprendizaje automático del mundo real. Se trata de un libro introductorio que no requiere conocimientos previos de aprendizaje automático o inteligencia artificial (IA). Nos centramos en el uso de Python y la biblioteca scikit-learn
, y recorremos todos los pasos para crear una aplicación de aprendizaje automático con éxito. Los métodos que presentamos serán útiles para científicos e investigadores, así como para científicos de datos que trabajen en aplicaciones comerciales. Sacarás el máximo partido del libro si estás algo familiarizado con Python y las bibliotecas NumPy y matplotlib
.
Hemos hecho un esfuerzo consciente por no centrarnos demasiado en las matemáticas, sino más bien en los aspectos prácticos del uso de algoritmos de aprendizaje automático. Como las matemáticas (la teoría de la probabilidad, en particular) son la base sobre la que se construye el aprendizaje automático, no profundizaremos en el análisis de los algoritmos. Si te interesan las matemáticas de los algoritmos de aprendizaje automático, te recomendamos el libro The Elements of Statistical Learning (Springer) de Trevor Hastie, Robert Tibshirani y Jerome Friedman, que está disponible gratuitamente en el sitio web de los autores. Tampoco describiremos cómo escribir algoritmos de aprendizaje automático desde cero, sino que nos centraremos en cómo utilizar la gran variedad de modelos ya implementados en scikit-learn
y otras bibliotecas.
Por qué escribimos este libro
Hay muchos libros sobre aprendizaje automático e IA. Sin embargo, todos ellos están pensados para estudiantes de posgrado o de doctorado en informática, y están llenos de matemáticas avanzadas. Esto contrasta fuertemente con la forma en que se está utilizando el aprendizaje automático, como una herramienta básica en la investigación y en las aplicaciones comerciales. Hoy en día, aplicar el aprendizaje automático no requiere un doctorado. Sin embargo, existen pocos recursos que cubran plenamente todos los aspectos importantes de la aplicación del aprendizaje automático en la práctica, sin exigirte cursos avanzados de matemáticas. Esperamos que este libro ayude a las personas que quieran aplicar el aprendizaje automático sin tener que leer años de cálculo, álgebra lineal y teoría de la probabilidad.
Navegar por este libro
Este libro está organizado aproximadamente como sigue:
-
El Capítulo 1 introduce los conceptos fundamentales del aprendizaje automático y sus aplicaciones, y describe la configuración que utilizaremos a lo largo del libro.
-
Los capítulos 2 y 3 describen los algoritmos reales de aprendizaje automático más utilizados en la práctica, y analizan sus ventajas y deficiencias.
-
El capítulo 4 trata de la importancia de cómo representamos los datos que procesa el aprendizaje automático, y a qué aspectos de los datos hay que prestar atención.
-
El capítulo 5 trata de los métodos avanzados de evaluación de modelos y ajuste de parámetros, con especial atención a la validación cruzada y la búsqueda en cuadrícula.
-
El Capítulo 6 explica el concepto de canalización para encadenar modelos y encapsular tu flujo de trabajo.
-
El Capítulo 7 muestra cómo aplicar los métodos descritos en los capítulos anteriores a los datos de texto, e introduce algunas técnicas de procesamiento específicas del texto.
-
El capítulo 8 ofrece una visión general de alto nivel, e incluye referencias a temas más avanzados.
Aunque los Capítulos 2 y 3 proporcionan los algoritmos reales, entender todos estos algoritmos puede no ser necesario para un principiante. Si necesitas construir un sistema de aprendizaje automático lo antes posible, te sugerimos que empieces por el Capítulo 1 y las secciones iniciales del Capítulo 2, que introducen todos los conceptos básicos. A continuación, puedes saltar a la Sección 2.5 del Capítulo 2, que incluye una lista de todos los modelos supervisados que cubrimos. Elige el modelo que mejor se adapte a tus necesidades y vuelve a leer la sección dedicada a él para conocer los detalles. Luego puedes utilizar las técnicas del Capítulo 5 para evaluar y ajustar tu modelo.
Recursos en línea
Mientras estudias este libro, consulta sin falta el sitio webscikit-learn
para obtener una documentación más detallada de las clases y funciones, y muchos ejemplos. También hay un curso en vídeo creado por Andreas Müller, "Aprendizaje automático avanzado con scikit-learn", que complementa este libro. Puedes encontrarlo en http://bit.ly/advanced_machine_learning_scikit-learn.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza para listados de programas, así como dentro de párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave. También se utiliza para comandos y nombres de módulos y paquetes.
Constant width bold
-
Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.
Constant width italic
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Advertencia
Este icono indica una advertencia o precaución.
Utilizar ejemplos de código
El material complementario (ejemplos de código, cuadernos IPython, etc.) se puede descargar en https://github.com/amueller/introduction_to_ml_with_python.
Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir un CD-ROM de ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.
Agradecemos, pero no exigimos, la atribución. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Introducción al Aprendizaje Automático con Python " de Andreas C. Müller y Sarah Guido (O'Reilly). Copyright 2017 Sarah Guido y Andreas Müller, 978-1-449-36941-5".
Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
Safari O'Reilly
Nota
Safari (antes Safari Books Online) es una plataforma de formación y referencia basada en membresías para empresas, administraciones públicas, educadores y particulares.
Los miembros tienen acceso a miles de libros, vídeos de formación, rutas de aprendizaje, tutoriales interactivos y listas de reproducción de más de 250 editoriales, como O'Reilly Media, Harvard Business Review, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Adobe, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, Jones & Bartlett y Course Technology, entre otras. Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett y Course Technology, entre otras.
Para más información, visita http://oreilly.com/safari.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-998-9938 (en Estados Unidos o Canadá)
- 707-829-0515 (internacional o local)
- 707-829-0104 (fax)
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en http://bit.ly/intro-machine-learning-python.
Para hacer comentarios o preguntas técnicas sobre este libro, envía un correo electrónico a bookquestions@oreilly.com.
Para más información sobre nuestros libros, cursos, conferencias y noticias, consulta nuestro sitio web en http://www.oreilly.com.
Encuéntranos en Facebook: http://facebook.com/oreilly
Síguenos en Twitter: http://twitter.com/oreillymedia
Míranos en YouTube: http://www.youtube.com/oreillymedia
Agradecimientos
De Andreas
Sin la ayuda y el apoyo de un gran grupo de personas, este libro nunca habría existido.
Me gustaría dar las gracias a los editores, Meghan Blanchette, Brian MacDonald y, en particular, a Dawn Schanafelt, por ayudarnos a Sarah y a mí a hacer realidad este libro.
Quiero dar las gracias a mis revisores, Thomas Caswell, Olivier Grisel, Stefan van der Walt y John Myles White, que se tomaron la molestia de leer las primeras versiones de este libro y me proporcionaron comentarios inestimables, además de ser algunas de las piedras angulares del ecosistema científico de código abierto.
Siempre estaré agradecido a la acogedora comunidad científica de código abierto de Python, especialmente a los colaboradores de scikit-learn
. Sin el apoyo y la ayuda de esta comunidad, en particular de Gael Varoquaux, Alex Gramfort y Olivier Grisel, nunca me habría convertido en un colaborador principal descikit-learn
ni habría aprendido a entender este paquete tan bien como lo entiendo ahora. Mi agradecimiento también a todos los demás colaboradores que donan su tiempo para mejorar y mantener este paquete.
También estoy agradecido por las discusiones con muchos de mis colegas y compañeros que me ayudaron a comprender los retos del aprendizaje automático y me dieron ideas para estructurar un libro de texto. Entre las personas con las que hablo sobre aprendizaje automático, quiero dar las gracias específicamente a Brian McFee, Daniela Huttenkoppen, Joel Nothman, Gilles Louppe, Hugo Bowne-Anderson, Sven Kreis, Alice Zheng, Kyunghyun Cho, Pablo Baberas y Dan Cervone.
También quiero dar las gracias a Rachel Rakov, que fue una entusiasta evaluadora beta y correctora de una primera versión de este libro, y me ayudó a darle forma de muchas maneras.
En el aspecto personal, quiero dar las gracias a mis padres, Harald y Margot, y a mi hermana, Miriam, por su continuo apoyo y ánimo. También quiero dar las gracias a las muchas personas de mi vida cuyo amor y amistad me dieron la energía y el apoyo necesarios para emprender una tarea tan difícil.
De Sarah
Me gustaría dar las gracias a Meg Blanchette, sin cuya ayuda y orientación este proyecto ni siquiera habría existido. Gracias a Celia La y a Brian Carlson por su lectura en los primeros días. Gracias a la gente de O'Reilly por su infinita paciencia. Y, por último, gracias a DTS, por su eterno e interminable apoyo.
Get Introducción al Aprendizaje Automático con Python now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.