Читать книгу Python Machine Learning - Vahid Mirjalili - Страница 7

Оглавление

Índice

Sobre los autores

Introducción

Qué contiene este libro

Qué necesitas para este libro

A quién va dirigido este libro

Convenciones

Descargar el código de ejemplo y las imágenes en color de este libro

Capítulo 1: Dar a los ordenadores el poder de aprender de los datos

Crear máquinas inteligentes para transformar datos en conocimiento

Los tres tipos de aprendizaje automático

Hacer predicciones sobre el futuro con el aprendizaje supervisado

Clasificación para predecir etiquetas de clase

Regresión para predecir resultados continuos

Resolver problemas interactivos con aprendizaje reforzado

Descubrir estructuras ocultas con el aprendizaje sin supervisión

Encontrar subgrupos con el agrupamiento

Reducción de dimensionalidad para comprimir datos

Introducción a la terminología básica y las notaciones

Una hoja de ruta para crear sistemas de aprendizaje automático

Preprocesamiento: Dar forma a los datos

Entrenar y seleccionar un modelo predictivo

Evaluar modelos y predecir instancias de datos no vistos

Utilizar Python para el aprendizaje automático

Utilizar la distribución y el gestor de paquetes Anaconda de Python

Paquetes para cálculo científico, ciencia de datos y aprendizaje automático

Resumen

Capítulo 2: Entrenar algoritmos simples de aprendizaje automático para clasificación

Neuronas artificiales: un vistazo a los inicios del aprendizaje automático

La regla de aprendizaje del perceptrón

Implementar un algoritmo de aprendizaje de perceptrón en Python

Una API perceptrón orientada a objetos

Entrenar un modelo de perceptrón en el conjunto de datos Iris

Neuronas lineales adaptativas y la convergencia del aprendizaje

Minimizar funciones de coste con el descenso de gradiente

Implementar Adaline en Python

Mejorar el descenso de gradiente mediante el escalado de características

Aprendizaje automático a gran escala y descenso de gradiente estocástico

Resumen

Capítulo 3: Un recorrido por los clasificadores de aprendizaje automático con scikit-learn

Elegir un algoritmo de clasificación

Primeros pasos con scikit-learn:entrenar un perceptrón

Modelar probabilidades de clase mediante regresión logística

Intuición en regresión logística y probabilidades condicionales

Aprender los pesos de la función de coste logística

Convertir una implementación Adaline en un algoritmo para regresión logística

Entrenar un modelo de regresión logística con scikit-learn

Abordar el sobreajuste con la regularización

Margen de clasificación máximo con máquinas de vectores de soporte

Margen máximo de intuición

Tratar un caso separable no lineal con variables flexibles

Implementaciones alternativas en scikit-learn

Resolver problemas no lineales con una SVM kernelizada

Métodos kernel para datos inseparables lineales

El truco de kernel para encontrar hiperplanos separados en un espacio de mayor dimensionalidad

Aprendizaje basado en árboles de decisión

Maximizar la ganancia de información: sacar el mayor partido de tu inversión

Crear un árbol de decisión

Combinar árboles de decisión múltiples mediante bosques aleatorios

K-vecinos más cercanos: un algoritmo de aprendizaje vago

Resumen

Capítulo 4: Generar buenos modelos de entrenamiento: preprocesamiento de datos

Tratar con datos ausentes

Eliminar muestras o características con valores ausentes

Imputar valores ausentes

Entender la API de estimador de scikit-learn

Trabajar con datos categóricos

Características nominales y ordinales

Crear un conjunto de datos de ejemplo

Mapear características ordinales

Codificar etiquetas de clase

Realizar una codificación en caliente sobre características nominales

Dividir un conjunto de datos en conjuntos de prueba y de entrenamiento individuales

Ajustar las características a la misma escala

Seleccionar características significativas

Una interpretación geométrica de la regularización L2

Soluciones dispersas con la regularización L1

Algoritmos de selección de características secuenciales

Evaluar la importancia de las características con bosques aleatorios

Resumen

Capítulo 5: Comprimir datos mediante la reducción de dimensionalidad

Reducción de dimensionalidad sin supervisión mediante el análisis de componentes principales

Los pasos esenciales que se esconden detrás del análisis de componentes principales

Extraer los componentes principales paso a paso

Varianza total y explicada

Transformación de características

Análisis de componentes principales en scikit-learn

Compresión de datos supervisada mediante análisis discriminante lineal

Análisis de componentes principales frente a análisis discriminante lineal

Cómo funciona interiormente el análisis discriminante lineal

Calcular las matrices de dispersión

Seleccionar discriminantes lineales para el nuevo subespacio de características

Proyectar muestras en el nuevo espacio de características

ADL con scikit-learn

Utilizar el análisis de componentes principales con kernels para mapeos no lineales

Funciones kernel y el truco del kernel

Implementar un análisis de componentes principales con kernels en Python

Ejemplo 1: separar formas de media luna

Ejemplo 2: separar círculos concéntricos

Proyectar nuevos puntos de datos

Análisis de componentes principales con kernel en scikit-learn

Resumen

Capítulo 6: Aprender las buenas prácticas para la evaluación de modelos y el ajuste de hiperparámetros

Simplificar flujos de trabajo con pipelines

Combinar transformadores y estimadores en un pipeline

Utilizar la validación cruzada de K iteraciones para evaluar el rendimiento de un modelo

El método de retención

Validación cruzada de k iteraciones

Depurar algoritmos con curvas de validación y aprendizaje

Diagnosticar problemas de sesgo y varianza con curvas de aprendizaje

Resolver el sobreajuste y el subajuste con curvas de validación

Ajustar los modelos de aprendizaje automático con la búsqueda de cuadrículas

Ajustar hiperparámetros con la búsqueda de cuadrículas

Selección de algoritmos con validación cruzada anidada

Observar diferentes métricas de evaluación de rendimiento

Leer una matriz de confusión

Optimizar la exactitud y la exhaustividad de un modelo de clasificación

Representar una característica operativa del receptor

Métricas de calificación para clasificaciones multiclase

Tratar con el desequilibrio de clases

Resumen

Capítulo 7: Combinar diferentes modelos para el aprendizaje conjunto

Aprender con conjuntos

Combinar clasificadores mediante el voto mayoritario

Implementar un sencillo clasificador de voto mayoritario

Utilizar el principio de voto mayoritario para hacer predicciones

Evaluar y ajustar el clasificador conjunto

Bagging: construir un conjunto de clasificadores a partir de muestras bootstrap

El bagging resumido

Aplicar el bagging para clasificar muestras en el conjunto de datos Wine

Potenciar los clasificadores débiles con el boosting adaptado

Cómo trabaja el boosting

Aplicar AdaBoost con scikit-learn

Resumen

Capítulo 8: Aplicar el aprendizaje automático para el análisis de sentimiento

Preparar los datos de críticas de cine de IMDb para el procesamiento de texto

Obtener el conjunto de datos de críticas de cine

Preprocesar el conjunto de datos de películas en un formato adecuado

Introducir el modelo «bolsa de palabras»

Transformar palabras en vectores de características

Relevancia de las palabras mediante frecuencia de término–frecuencia inversa de documento

Limpiar datos textuales

Procesar documentos en componentes léxicos

Entrenar un modelo de regresión logística para clasificación de documentos

Trabajar con datos más grandes: algoritmos online y aprendizaje out-of-core

Modelado de temas con Latent Dirichlet Allocation

Descomponer documentos de textos con LDA

LDA con scikit-learn

Resumen

Capítulo 9: Incrustar un modelo de aprendizaje automático en una aplicación web

Serializar estimadores de scikit-learn ajustados

Configurar una base de datos SQLite para el almacenamiento de datos

Desarrollar una aplicación web con Flask

Nuestra primera aplicación web con Flask

Validación y renderizado de formularios

Configurar la estructura del directorio

Implementar una macro mediante el motor de plantillas Jinja2

Añadir estilos con CSS

Crear la página resultante

Convertir el clasificador de críticas de cine en una aplicación web

Archivos y carpetas: observar el árbol de directorios

Implementar la aplicación principal como app.py

Preparar el formulario de críticas

Crear una plantilla de página de resultados

Desplegar la aplicación web en un servidor público

Crear una cuenta de PythonAnywhere

Cargar la aplicación del clasificador de películas

Actualizar el clasificador de películas

Resumen

Capítulo 10: Predicción de variables de destino continuas con análisis de regresión

Introducción a la regresión lineal

Regresión lineal simple

Regresión lineal múltiple

Explorar el conjunto de datos Housing

Cargar el conjunto Housing en un marco de datos

Visualizar las características importantes de un conjunto de datos

Observar las relaciones mediante una matriz de correlación

Implementar un modelo de regresión lineal de mínimos cuadrados ordinarios

Resolver la regresión para parámetros de regresión con el descenso del gradiente

Estimar el coeficiente de un modelo de regresión con scikit-learn

Ajustar un modelo de regresión robusto con RANSAC

Evaluar el rendimiento de los modelos de regresión lineal

Utilizar métodos regularizados para regresión

Convertir un modelo de regresión lineal en una curva: la regresión polinomial

Añadir términos polinomiales con scikit-learn

Modelar relaciones no lineales en el conjunto de datos Housing

Tratar con relaciones no lineales mediante bosques aleatorios

Regresión de árbol de decisión

Regresión con bosques aleatorios

Resumen

Capítulo 11: Trabajar con datos sin etiquetar: análisis de grupos

Agrupar objetos por semejanza con k-means

Agrupamiento k-means con scikit-learn

Una manera más inteligente de colocar los centroides de los grupos iniciales con k-means++

Agrupamiento pesado frente a no pesado

Utilizar el método elbow para encontrar el número óptimo de grupos

Cuantificar la calidad del agrupamiento mediante gráficos de silueta

Organizar agrupamientos como un árbol jerárquico

Agrupar los grupos de manera ascendente

Realizar agrupamientos jerárquicos en una matriz de distancias

Adjuntar dendrogramas a un mapa de calor

Aplicar un agrupamiento aglomerativo con scikit-learn

Ubicar regiones de alta densidad con DBSCAN

Resumen

Capítulo 12: Implementar una red neuronal artificial multicapa desde cero

Modelar funciones complejas con redes neuronales artificiales

Resumen de una red neuronal de una capa

Activar una red neuronal mediante la propagación hacia delante

Clasificar dígitos manuscritos

Obtener el conjunto de datos MNIST

Implementar un perceptrón multicapa

Entrenar una red neuronal artificial

Calcular la función de coste logística

Desarrollar tu intuición para la propagación hacia atrás

Entrenar redes neuronales mediante la propagación hacia atrás

Sobre la convergencia en redes neuronales

Unas últimas palabras sobre la implementación de redes neuronales

Resumen

Capítulo 13: Paralelización de entrenamiento de redes neuronales con TensorFlow

TensorFlow y rendimiento de entrenamiento

¿Qué es TensorFlow?

Cómo aprenderemos TensorFlow

Primeros pasos con TensorFlow

Trabajar con estructuras de matriz

Desarrollar un modelo simple con la API de bajo nivel de TensorFlow

Entrenar redes neuronales eficazmente con las API de alto nivel de TensorFlow

Crear redes neuronales multicapa mediante la API Layers de TensorFlow

Desarrollar una red neuronal multicapa con Keras

Elegir funciones de activación para redes multicapa

Resumen de la función logística

Estimar probabilidades de clase en clasificaciones multiclase con softmax

Ampliar el espectro de salida con una tangente hiperbólica

Activación de la unidad lineal rectificada

Resumen

Capítulo 14: Ir más lejos: la mecánica de TensorFlow

Características clave de TensorFlow

Rango y tensores de TensorFlow

Cómo obtener la dimensión y la forma de un tensor

Entender los grafos computacionales de TensorFlow

Marcadores de posición en TensorFlow

Definir marcadores de posición

Alimentar marcadores de posición con datos

Definir marcadores de posición para matrices de datos con diferentes tamaños de lote

Variables en TensorFlow

Definir variables

Inicializar variable

Alcance de la variable

Reutilizar variables

Crear un modelo de regresión

Ejecutar objetos en un grafo de TensorFlow mediante sus nombres

Almacenar y restablecer un modelo en TensorFlow

Transformar tensores como matrices de datos multidimensionales

Utilizar la mecánica de control de flujopara crear grafos

Visualizar el grafo con TensorBoard

Ampliar tu experiencia en TensorBoard

Resumen

Capítulo 15: Clasificar imágenes con redes neuronales convolucionales profundas

Bloques de construcción de redes neuronales convolucionales

Entender las CNN y conocer las jerarquías de características

Realizar convoluciones discretas

Realizar una convolución discreta en una dimensión

El efecto del relleno de ceros en una convolución

Determinar el tamaño de la salida de convolución

Realizar un convolución discreta en 2D

Submuestreo

Juntarlo todo para crear una CNN

Trabajar con entradas múltiples o canales de color

Regularizar una red neuronal con la eliminación

Implementar una red neuronal convolucional profunda con TensorFlow

La arquitectura de una CNN multicapa

Cargar y preprocesar los datos

Implementar una CNN en la API de TensorFlow de bajo nivel

Implementar una CNN en la API Layers de TensorFlow

Resumen

Capítulo 16: Modelado de datos secuenciales mediante redes neuronales recurrentes

Introducir datos secuenciales

Modelar datos secuenciales: el orden sí importa

Representar secuencias

Las diferentes categorías del modelado de secuencias

RNN para modelar secuencias

Entender la estructura y el flujo de una RNN

Calcular activaciones en una RNN

Los retos del aprendizaje de interacciones de largo alcance

Unidades de LSTM

Implementar una RNN multicapa para modelar secuencias en TensorFlow

Proyecto uno: crear un análisis de sentimiento de las críticas de películas IMDb con RNN multicapa

Preparar los datos

Embedding

Construir un modelo de RNN

El constructor de la clase SentimentRNN

El método build

Paso 1: definir celdas RNN multicapa

Paso 2: definir los estados iniciales para las celdas RNN

Paso 3: crear la RNN utilizando las celdas RNN y sus estados

El método train

El método predict

Instanciar la clase SentimentRNN

Entrenar y optimizar el análisis de sentimiento de un modelo RNN

Proyecto dos: implementar una RNN para el modelado de lenguaje a nivel de carácter en TensorFlow

Preparar los datos

Construir un modelo RNN a nivel de carácter

El constructor

El método build

El método train

El método sample

Crear y entrenar el modelo CharRNN

El modelo CharRNN en el modo de muestreo

Resumen del capítulo y del libro

ÍNDICE ANALÍTICO

Python Machine Learning

Подняться наверх