• Nuevo

Python Machine Learning

39,50 €
Impuestos incluidos
El aprendizaje automático está invadiendo el mundo del software. Si quieres entender y trabajar la vanguardia del aprendizaje automático, las redes neuronales y el aprendizaje prof...
Cantidad

El aprendizaje automático está invadiendo el mundo del software. Si quieres entender y trabajar la vanguardia del aprendizaje automático, las redes neuronales y el aprendizaje profundo, esta segunda edición del bestseller Python Machine Learning, es tu libro. Modernizado y ampliado para incluir las tecnologías de código abierto más recientes, como scikit-learn, Keras y TensorFlow, este manual proporciona el conocimiento práctico y las técnicas necesarias para crear eficaces aplicaciones de aprendizaje automático y aprendizaje profundo en Python. El conocimiento y la experiencia únicos de Sebastian Raschka y Vahid Mirjalili presentan los algoritmos de aprendizaje automático y aprendizaje profundo, antes de continuar con temas avanzados en análisis de datos. Combinan los principios teóricos del aprendizaje automático con un enfoque práctico de codificación para una comprensión completa de la teoría del aprendizaje automático y la implementación con Python. Aprenderás a: Explorar y entender los frameworks clave para la ciencia de datos, el aprendizaje automático y el aprendizaje profundo Formular nuevas preguntas sobre datos con modelos de aprendizaje automático y redes neuronales Aprovechar el poder de las últimas librerías de código abierto de Python para aprendizaje automático Dominar la implementación de redes neuronales profundas con la librería de TensorFlow Incrustar modelos de aprendizaje automáticos en aplicacions web accesibles Predecir resultados objetivos continuos con análisis de regresión Descubrir patrones ocultos y estructuras en datos con agrupamientos Analizar imágenes mediante técnicas de aprendizaje profundo Profundizar en datos de medios sociales y textuales con el análisis de sentimientos Índice Introducción xvii Capítulo 1. Dar a los ordenadores el poder de aprender de los datos 23 Crear máquinas inteligentes para transformar datos en conocimiento 24 Los tres tipos de aprendizaje automático 24 Hacer predicciones sobre el futuro con el aprendizaje supervisado 25 Clasifi cación para predecir etiquetas de clase 25 Regresión para predecir resultados continuos 27 Resolver problemas interactivos con aprendizaje reforzado 28 Descubrir estructuras ocultas con el aprendizaje sin supervisión 29 Encontrar subgrupos con el agrupamiento 29 Reducción de dimensionalidad para comprimir datos 30 Introducción a la terminología básica y las notaciones 30 Una hoja de ruta para crear sistemas de aprendizaje automático 33 Preprocesamiento: Dar forma a los datos 34 Entrenar y seleccionar un modelo predictivo 34 Evaluar modelos y predecir instancias de datos no vistos 35 Utilizar Python para el aprendizaje automático 36 Instalar Python y sus paquetes desde Python Package Index 36 Utilizar la distribución y el gestor de paquetes Anaconda de Python 37 Paquetes para cálculo científi co, ciencia de datos y aprendizaje automático 37 Resumen 38 Capítulo 2. Entrenar algoritmos simples de aprendizaje automático para clasifi cación 39 Neuronas artifi ciales: un vistazo a los inicios del aprendizaje automático 40 La defi nición formal de una neurona artifi cial 41 La regla de aprendizaje del perceptrón 43 Implementar un algoritmo de aprendizaje de perceptrón en Python 46 Una API perceptrón orientada a objetos 46 Entrenar un modelo de perceptrón en el conjunto de datos Iris 50 Neuronas lineales adaptativas y la convergencia del aprendizaje 56 Minimizar funciones de coste con el descenso de gradiente 57 Implementar Adaline en Python 60 Mejorar el descenso de gradiente mediante el escalado de características 64 Aprendizaje automático a gran escala y descenso de gradiente estocástico 66 Resumen 72 Capítulo 3. Un recorrido por los clasifi cadores de aprendizaje automático con scikit-learn 73 Elegir un algoritmo de clasifi cación 74 Primeros pasos con scikit-learn: entrenar un perceptrón 74 Modelar probabilidades de clase mediante regresión logística 81 Intuición en regresión logística y probabilidades condicionales 81 Aprender los pesos de la función de coste logística 85 Convertir una implementación Adaline en un algoritmo para regresión logística 88 Entrenar un modelo de regresión logística con scikit-learn 93 Abordar el sobreajuste con la regularización 95 Margen de clasifi cación máximo con máquinas de vectores de soporte 98 Margen máximo de intuición 99 Tratar un caso separable no lineal con variables fl exibles 101 Implementaciones alternativas en scikit-learn 103 Resolver problemas no lineales con una SVM kernelizada 104 Métodos kernel para datos inseparables lineales 104 El truco de kernel para encontrar hiperplanos separados en un espacio de mayor dimensionalidad 106 Aprendizaje basado en árboles de decisión 110 Maximizar la ganancia de información: sacar el mayor partido de tu inversión 112 Crear un árbol de decisión 117 Combinar árboles de decisión múltiples mediante bosques aleatorios 120 K-vecinos más cercanos: un algoritmo de aprendizaje vago 123 Resumen 127 Capítulo 4. Generar buenos modelos de entrenamiento: preprocesamiento de datos 129 Tratar con datos ausentes 129 Identifi car datos ausentes en datos tabulares 130 Eliminar muestras o características con valores ausentes 131 Imputar valores ausentes 132 Entender la API de estimador de scikit-learn 133 Trabajar con datos categóricos 134 Características nominales y ordinales 134 Crear un conjunto de datos de ejemplo 135 Mapear características ordinales 135 Codifi car etiquetas de clase 136 Realizar una codifi cación en caliente sobre características nominales 138 Dividir un conjunto de datos en conjuntos de prueba y de entrenamiento individuales 140 Ajustar las características a la misma escala 142 Seleccionar características signifi cativas 145 Regularización L1 y L2 como penalizaciones contra la complejidad del modelo 146 Una interpretación geométrica de la regularización L2 146 Soluciones dispersas con la regularización L1 148 Algoritmos de selección de características secuenciales 152 Evaluar la importancia de las características con bosques aleatorios 158 Resumen 161 Capítulo 5. Comprimir datos mediante la reducción de dimensionalidad 163 Reducción de dimensionalidad sin supervisión mediante el análisis de componentes principales 164 Los pasos esenciales que se esconden detrás del análisis de componentes principales 164 Extraer los componentes principales paso a paso 166 Varianza total y explicada 169 Transformación de características 170 Análisis de componentes principales en scikit-learn 173 Compresión de datos supervisada mediante análisis discriminante lineal 177 Análisis de componentes principales frente a análisis discriminante lineal 177 Cómo funciona interiormente el análisis discriminante lineal 178 Calcular las matrices de dispersión 179 Seleccionar discriminantes lineales para el nuevo subespacio de características 182 Proyectar muestras en el nuevo espacio de características 184 ADL con scikit-learn 185 Utilizar el análisis de componentes principales con kernels para mapeos no lineales 187 Funciones kernel y el truco del kernel 188 Implementar un análisis de componentes principales con kernels en Python 194 Ejemplo 1: separar formas de media luna 195 Ejemplo 2: separar círculos concéntricos 198 Proyectar nuevos puntos de datos 201 Análisis de componentes principales con kernel en scikit-learn 205 Resumen 206 Capítulo 6. Aprender las buenas prácticas para la evaluación de modelos y el ajuste de hiperparámetros 207 Simplifi car fl ujos de trabajo con pipelines 207 Cargar el conjunto de datos Cancer Wisconsin 208 Combinar transformadores y estimadores en un pipeline 209 Utilizar la validación cruzada de K iteraciones para evaluar el rendimiento de un modelo 211 El método de retención 212 Validación cruzada de k iteraciones 213 Depurar algoritmos con curvas de validación y aprendizaje 217 Diagnosticar problemas de sesgo y varianza con curvas de aprendizaje 218 Resolver el sobreajuste y el subajuste con curvas de validación 221 Ajustar los modelos de aprendizaje automático con la búsqueda de cuadrículas 223 Ajustar hiperparámetros con la búsqueda de cuadrículas 223 Selección de algoritmos con validación cruzada anidada 225 Observar diferentes métricas de evaluación de rendimiento 227 Leer una matriz de confusión 228 Optimizar la exactitud y la exhaustividad de un modelo de clasifi cación 229 Representar una característica operativa del receptor 232 Métricas de califi cación para clasifi caciones multiclase 235 Tratar con el desequilibrio de clases 236 Resumen 239 Capítulo 7. Combinar diferentes modelos para el aprendizaje conjunto 241 Aprender con conjuntos 241 Combinar clasifi cadores mediante el voto mayoritario 246 Implementar un sencillo clasifi cador de voto mayoritario 246 Utilizar el principio de voto mayoritario para hacer predicciones 253 Evaluar y ajustar el clasifi cador conjunto 256 Bagging: construir un conjunto de clasifi cadores a partir de muestras bootstrap 262 El bagging resumido 262 Aplicar el bagging para clasifi car muestras en el conjunto de datos Wine 264 Potenciar los clasifi cadores débiles con el boosting adaptado 268 Cómo trabaja el boosting 268 Aplicar AdaBoost con scikit-learn 273 Resumen 276 Capítulo 8. Aplicar el aprendizaje automático para el análisis de sentimiento 277 Preparar los datos de críticas de cine de IMDb para el procesamiento de texto 278 Obtener el conjunto de datos de críticas de cine 278 Preprocesar el conjunto de datos de películas en un formato adecuado 279 Introducir el modelo «bolsa de palabras» 281 Transformar palabras en vectores de características 281 Relevancia de las palabras mediante frecuencia de términofrecuencia inversa de documento 283 Limpiar datos textuales 286 Procesar documentos en componentes léxicos 288 Entrenar un modelo de regresión logística para clasifi cación de documentos 290 Trabajar con datos más grandes: algoritmos online y aprendizaje out-of-core 292 Modelado de temas con Latent Dirichlet Allocation 296 Descomponer documentos de textos con LDA 297 LDA con scikit-learn 297 Resumen 301 Capítulo 9. Incrustar un modelo de aprendizaje automático en una aplicación web 303 Serializar estimadores de scikit-learn ajustados 304 Confi gurar una base de datos SQLite para el almacenamiento de datos 307 Desarrollar una aplicación web con Flask 309 Nuestra primera aplicación web con Flask 310 Validación y renderizado de formularios 312 Confi gurar la estructura del directorio 313 Implementar una macro mediante el motor de plantillas Jinja2 314 Añadir estilos con CSS 315 Crear la página resultante 316 Convertir el clasifi cador de críticas de cine en una aplicación web 316 Archivos y carpetas: observar el árbol de directorios 318 Implementar la aplicación principal como app.py 320 Preparar el formulario de críticas 322 Crear una plantilla de página de resultados 324 Desplegar la aplicación web en un servidor público 326 Crear una cuenta de PythonAnywhere 326 Cargar la aplicación del clasifi cador de películas 327 Actualizar el clasifi cador de películas 328 Resumen 330 Capítulo 10. Predicción de variables de destino continuas con análisis de regresión 331 Introducción a la regresión lineal 332 Regresión lineal simple 332 Regresión lineal múltiple 333 Explorar el conjunto de datos Housing 334 Cargar el conjunto Housing en un marco de datos 335 Visualizar las características importantes de un conjunto de datos 336 Observar las relaciones mediante una matriz de correlación 338 Implementar un modelo de regresión lineal de mínimos cuadrados ordinarios 341 Resolver la regresión para parámetros de regresión con el descenso del gradiente 341 Estimar el coefi ciente de un modelo de regresión con scikit-learn 346 Ajustar un modelo de regresión robusto con RANSAC 347 Evaluar el rendimiento de los modelos de regresión lineal 350 Utilizar métodos regularizados para regresión 354 Convertir un modelo de regresión lineal en una curva: la regresión polinomial 356 Añadir términos polinomiales con scikit-learn 356 Modelar relaciones no lineales en el conjunto de datos Housing 358 Tratar con relaciones no lineales mediante bosques aleatorios 361 Regresión de árbol de decisión 362 Regresión con bosques aleatorios 364 Resumen 367 Capítulo 11. Trabajar con datos sin etiquetar: análisis de grupos 369 Agrupar objetos por semejanza con k-means 370 Agrupamiento k-means con scikit-learn 370 Una manera más inteligente de colocar los centroides de los grupos iniciales con k-means++ 375 Agrupamiento pesado frente a no pesado 376 Utilizar el método elbow para encontrar el número óptimo de grupos 379 Cuantifi car la calidad del agrupamiento mediante gráfi cos de silueta 380 Organizar agrupamientos como un árbol jerárquico 385 Agrupar los grupos de manera ascendente 386 Realizar agrupamientos jerárquicos en una matriz de distancias 387 Adjuntar dendrogramas a un mapa de calor 391 Aplicar un agrupamiento aglomerativo con scikit-learn 393 Ubicar regiones de alta densidad con DBSCAN 394 Resumen 400 Capítulo 12. Implementar una red neuronal artifi cial multicapa desde cero 401 Modelar funciones complejas con redes neuronales artifi ciales 402 Resumen de una red neuronal de una capa 404 La arquitectura de red neuronal multicapa 406 Activar una red neuronal mediante la propagación hacia delante 409 Clasifi car dígitos manuscritos 411 Obtener el conjunto de datos MNIST 412 Implementar un perceptrón multicapa 418 Entrenar una red neuronal artifi cial 429 Calcular la función de coste logística 430 Desarrollar tu intuición para la propagación hacia atrás 433 Entrenar redes neuronales mediante la propagación hacia atrás 434 Sobre la convergencia en redes neuronales 439 Unas últimas palabras sobre la implementación de redes neuronales 440 Resumen 441 Capítulo 13. Paralelización de entrenamiento de redes neuronales con TensorFlow 443 TensorFlow y rendimiento de entrenamiento 444 ¿Qué es TensorFlow? 445 Cómo aprenderemos TensorFlow 446 Primeros pasos con TensorFlow 446 Trabajar con estructuras de matriz 449 Desarrollar un modelo simple con la API de bajo nivel de TensorFlow 450 Entrenar redes neuronales efi cazmente con las API de alto nivel de TensorFlow 455 Crear redes neuronales multicapa mediante el API Layers de TensorFlow 456 Desarrollar una red neuronal multicapa con Keras 460 Elegir funciones de activación para redes multicapa 465 Resumen de la función logística 466 Estimar probabilidades de clase en clasifi caciones multiclase con softmax 468 Ampliar el espectro de salida con una tangente hiperbólica 469 Activación de la unidad lineal rectifi cada 471 Resumen 473 Capítulo 14. Ir más lejos: la mecánica de TensorFlow 475 Características clave de TensorFlow 476 Rango y tensores de TensorFlow 476 Cómo obtener la dimensión y la forma de un tensor 477 Entender los grafos computacionales de TensorFlow 478 Marcadores de posición en TensorFlow 481 Defi nir marcadores de posición 481 Alimentar marcadores de posición con datos 482 Defi nir marcadores de posición para matrices de datos con diferentes tamaños de lote 483 Variables en TensorFlow 484 Defi nir variables 485 Inicializar variable 487 Alcance de la variable 488 Reutilizar variables 490 Crear un modelo de regresión 493 Ejecutar objetos en un grafo de TensorFlow mediante sus nombres 497 Almacenar y restablecer un modelo en TensorFlow 498 Transformar tensores como matrices de datos multidimensionales 501 Utilizar la mecánica de control de fl ujo para crear grafos 505 Visualizar el grafo con TensorBoard 509 Ampliar tu experiencia en TensorBoard 512 Resumen 513 Capítulo 15. Clasifi car imágenes con redes neuronales convolucionales profundas 515 Bloques de construcción de redes neuronales convolucionales 516 Entender las CNN y conocer las jerarquías de características 516 Realizar convoluciones discretas 518 Realizar una convolución discreta en una dimensión 518 El efecto del relleno de ceros en una convolución 521 Determinar el tamaño de la salida de convolución 523 Realizar una convolución discreta en 2D 524 Submuestreo 528 Juntarlo todo para crear una CNN 530 Trabajar con entradas múltiples o canales de color 530 Regularizar una red neuronal con la eliminación 534 Implementar una red neuronal convolucional profunda con TensorFlow 536 La arquitectura de una CNN multicapa 536 Cargar y preprocesar los datos 538 Implementar una CNN en el API de TensorFlow de bajo nivel 539 Implementar una CNN en la API Layers de TensorFlow 552 Resumen 558 Capítulo 16. Modelado de datos secuenciales mediante redes neuronales recurrentes 559 Introducir datos secuenciales 560 Modelar datos secuenciales: el orden sí importa 560 Representar secuencias 561 Las diferentes categorías del modelado de secuencias 562 RNN para modelar secuencias 563 Entender la estructura y el fl ujo de una RNN 563 Calcular activaciones en una RNN 565 Los retos del aprendizaje de interacciones de largo alcance 568 Unidades de LSTM 570 Implementar una RNN multicapa para modelar secuencias en TensorFlow 572 Proyecto uno: crear un análisis de sentimiento de las críticas de películas IMDb con RNN multicapa 573 Preparar los datos 574 Embedding 578 Construir un modelo de RNN 580 El constructor de la clase SentimentRNN 581 El método build 582 Paso 1: defi nir celdas RNN multicapa 584 Paso 2: defi nir los estados iniciales para las celdas RNN 584 Paso 3: crear la RNN utilizando las celdas RNN y sus estados 585 El método train 585 El método predict 587 Instanciar la clase SentimentRNN 587 Entrenar y optimizar el análisis de sentimiento de un modelo RNN 588 Proyecto dos: implementar una RNN para el modelado de lenguaje a nivel de carácter en TensorFlow 589 Preparar los datos 590 Construir un modelo RNN a nivel de carácter 594 El constructor 595 El método build 596 El método train 598 El método sample 600 Crear y defi nir el modelo CharRNN 601 El modelo CharRNN en el modo de muestreo 602 Resumen del capítulo y del libro 602 Índice analítico 605
Marcombo
9788426727206

Ficha técnica

Autor
Mirjalili, Vahid / Raschka, Sebastian
Editorial
Marcombo
Categoría
Programación de bases de datos

Referencias específicas