Nota Inicial
- Repositorio
- Tu opinión
¿Qué es el Machine Learning?
- Definiendo Machine Learning
- Una Definición Técnica
- Diagrama de Venn
- Aproximación para programadores
- Resumen
Instalar el Ambiente de Desarrollo Python
- ¿Por qué instalar Python y Anaconda en mi ordenador?
- 1. Descargar Anaconda
- 2. Instalar Anaconda
- 3. Iniciar y Actualizar Anaconda
- 4. Actualizar libreria scikit-learn
- 5. Instalar librerías para Deep Learning
- Resumen
Análisis Exploratorio de Datos
- ¿Qué es el EDA?
- EDA deconstruido
- ¿Qué sacamos del EDA?
- Técnicas para EDA
- Un EDA de pocos minutos con Pandas
- Más cosas! (que se suelen hacer):
- Resumen
Regresión Lineal con Python
- ¿Qué es la regresión lineal?
- ¿Cómo funciona el algoritmo de regresión lineal en Machine Learning?
- Un Ejercicio Práctico
- Predecir cuántas veces será compartido un artículo de Machine Learning.
- Regresión Lineal con Python y SKLearn
- Visualicemos la Recta
- Predicción en regresión lineal simple
- Regresión Lineal Múltiple en Python
- Visualizar un plano en 3 Dimensiones en Python
- Predicción con el modelo de Mútiples Variables
- Resumen
Regresión Logística
- Introducción
- Ejercicio de Regresión Logística en Python
- Regresión Logística con SKLearn:
- Visualización de Datos
- Creamos el Modelo de Regresión Logística
- Validación de nuestro modelo
- Reporte de Resultados del Modelo
- Clasificación de nuevos valores
- Resumen
Arbol de Decisión
- ¿Qué es un árbol de decisión?
- ¿Cómo funciona un árbol de decisión?
- Arbol de Decisión con Scikit-Learn paso a paso
- Predicción del “Billboard 100”: ¿Qué artista llegará al número uno del ranking?
- Obtención de los datos de entrada
- Análisis Exploratorio Inicial
- Balanceo de Datos: Pocos artistas llegan al número uno
- Preparamos los datos
- Mapeo de Datos
- Buscamos la profundidad para el árbol de decisión
- Visualización del árbol de decisión
- Análisis del árbol
- Predicción de Canciones al Billboard 100
- Resumen
Qué es overfitting y cómo solucionarlo
- Generalización del Conocimiento
- El problema de la Máquina al Generalizar
- Overfitting en Machine Learning
- El equilibrio del Aprendizaje
- Prevenir el Sobreajuste de datos
- Resumen
Datos desbalanceados
- Problemas de clasificación con Clases desequilibradas
- ¿Cómo nos afectan los datos desbalanceados?
- Métricas y Confusion Matrix
- Vamos al Ejercicio con Python!
- Análisis exploratorio
- Estrategias para el manejo de Datos Desbalanceados:
- Probando el Modelo sin estrategias
- Estrategia: Penalización para compensar
- Estrategia: Subsampling en la clase mayoritaria
- Estrategia: Oversampling de la clase minoritaria
- Estrategia: Combinamos resampling con Smote-Tomek
- Estrategia: Ensamble de Modelos con Balanceo
- Resultados de las Estrategias
- Resumen
Random Forest, el poder del Ensamble
- ¿Cómo surge Random Forest?
- ¿Cómo funciona Random Forest?
- ¿Por qué es aleatorio?
- Ventajas y Desventajas del uso de Random Forest
- Vamos al Código Python
- Creamos el modelo y lo entrenamos
- Los Hiperparámetros más importantes
- Evaluamos resultados
- Comparamos con el Baseline
- Resumen
Conjunto de Entrenamiento, Test y Validación
- Un nuevo Mundo
- Hágase el conjunto de Test
- Al Séptimo día Dios creo el Cross-Validation
- Técnicas de Validación Cruzada
- Ejemplo K-Folds en Python
- Más técnicas para Validación del modelo
- Series Temporales: Atención al validar
- Pero entonces? Cuando uso Cross-Validation?
- ¿Si ya estoy “conforme” y quiero llevar el modelo a un entorno de Producción?
- Resumen
K-Means
- Cómo funciona K-Means
- Casos de Uso de K-Means
- Datos de Entrada para K-Means
- El Algoritmo K-means
- Elegir el valor de K
- Ejemplo K-Means con Scikit-learn
- Agrupar usuarios Twitter de acuerdo a su personalidad con K-means
- Visualización de Datos
- Definimos la entrada
- Obtener el valor K
- Ejecutamos K-Means
- Clasificar nuevas muestras
- Resumen
K-Nearest-Neighbor
- ¿Qué es el algoritmo k-Nearest Neighbor ?
- ¿Dónde se aplica k-Nearest Neighbor?
- Pros y contras
- ¿Cómo funciona kNN?
- Un ejemplo k-Nearest Neighbor en Python
- El Ejercicio: App Reviews
- Un poco de Visualización
- Preparamos las entradas
- Usemos k-Nearest Neighbor con Scikit Learn
- Precisión del modelo
- Y ahora, la gráfica que queríamos ver!
- Elegir el mejor valor de k
- Clasificar ó Predecir nuevas muestras
- Resumen
Naive Bayes: ¿Comprar casa o Alquilar?
- Los Datos de Entrada:
- El teorema de Bayes
- Clasificador Gaussian Naive Bayes
- Visualización de Datos
- Preparar los datos de entrada
- Feature Selection ó Selección de Características
- Crear el modelo Gaussian Naive Bayes con SKLearn
- Probemos el modelo: ¿Comprar o Alquilar?
- Resumen
Sistemas de Recomendación
- ¿Qué son los Sistemas ó Motores de Recomendación?
- Tipos de motores
- ¿Cómo funciona Collaborative Filtering?
- Predecir gustos (User-based)
- Ejercicio en Python: “Sistema de Recomendación de Repositorios Github”
- Dividimos en Train y Test set
- Resumen
Breve Historia de las Redes Neuronales Artificiales
- Arquitecturas y Aplicaciones de las Redes Neuronales
- Evolución de las Redes Neuronales en Ciencias de la Computación
- El inicio de todo: la neurona artificial
- Los 1980s: aprendizaje automático
- Se alcanza el Deep Learning
- Resumen
Aprendizaje Profundo: una Guía rápida
- Deep Learning y Redes Neuronales -sin código-
- ¿Cómo funciona el Deep Learning? Mejor un Ejemplo
- Creamos una Red Neuronal
- ¿Cómo se calcula la predicción?
- Entrenando Nuestra Red Neuronal
- ¿Cómo reducimos la función coste -y mejoramos las predicciones-?
- Resumen
Crear una Red Neuronal en Python desde cero
- El proyecto
- Funciones Sigmoide
- Forward Propagation -ó red Feedforward-
- Backpropagation (cómputo del gradiente)
- El Código de la red Neuronal
- Resumen
Programa un coche Robot Arduino que conduce con IA
- La Nueva Red Neuronal
- El coche Arduino
- Circuito del coche
- Montar el coche
- Copiar la red neuronal
- El código Arduino
- El Coche en Acción!
- Resumen
Una sencilla Red Neuronal con Keras y Tensorflow
- Requerimientos para el ejercicio
- Las compuertas XOR
- Una Red Neuronal Artificial sencilla con Python y Keras
- Analicemos la red neuronal que hicimos
- Visualización de la red Neuronal
- A Entrenar la red!
- Resultados del Entrenamiento
- Evaluamos y Predecimos
- Afinando parámetros de la red neuronal
- Guardar la red y usarla -de verdad-
- ¿Vale la pena una red neuronal?
- Resumen
Pronóstico de Series Temporales con Redes Neuronales
- ¿Qué es una serie temporal y qué tiene de especial?
- Cargar el Ejemplo con Pandas
- Visualización de datos
- ¿Cómo hacer pronóstico de series temporales?
- Pronóstico de Ventas Diarias con Redes Neuronal
- Creamos la Red Neuronal Artificial
- Entrenamiento y Resultados
- Pronóstico de ventas futuras
- Resumen
Pronóstico de Ventas con Redes Neuronales (Parte 2)
- Mejora del modelo de Series Temporales con Múltiples Variables y Embeddings
- Mejoras al modelo de Series Temporales
- Primer Mejora: Serie Temporal de múltilples Variables
- Fecha como variable de entrada
- Segunda mejora: Embeddings en variables categóricas
- ¿Qué son los Embeddings?
- Quiero Python!
- Comparemos los Resultados de los 3 modelos:
- Resumen
Crea tu propio servicio de Machine Learning con Flask
- Implementar modelos de Machine Learning
- Servir mediante una API
- Instalar Flask
- Crear el modelo de ML
- Guardar el modelo; Serialización de objetos en Python
- Crear una API con Flask
- Actualizar el modelo (según sea necesario!)
- Resumen
Clasificación de Imágenes en Python
- Ejercicio: Clasificar imágenes de deportes
- Vamos al código Python
- 1- Importar librerías
- 2-Cargar las imágenes
- 3- Crear etiquetas y clases
- 4-Creamos sets de Entrenamiento y Test, Validación y Preprocesar
- 5 - Creamos la red (Aquí la Magia)
- 6-Entrenamos la CNN
- 7-Resultados de la clasificación
- Resumen
¿Cómo funcionan las Convolutional Neural Networks?
- Muchas imágenes
- Pixeles y neuronas
- Convoluciones
- Filtro: conjunto de kernels
- La función de Activación
- Subsampling
- ¿Ya terminamos? NO: ahora más convoluciones!!
- Conectar con una red neuronal “tradicional”
- ¿Y cómo aprendió la CNN a “ver”?: Backpropagation
- Comparativa entre una red neuronal “tradicional” y una CNN
- Arquitectura básica
- Resumen
Detección de Objetos con Python
- ¿En qué consiste la detección YOLO?
- El proyecto Propuesto: Detectar personajes de Lego
- Crea un dataset: Imágenes y Anotaciones
- El lego dataset
- El código Python
- Leer el Dataset
- Train y Validación
- Data Augmentation
- Crear la Red de Clasificación
- Crear la Red de Detección
- Generar las Anclas
- Entrenar la Red!
- Revisar los Resultados
- Probar la Red
- Resumen
Anexo I: Webscraping
- Ejemplo Web Scraping en Python: IBEX35® la Bolsa de Madrid
- Requerimientos
- Conocimientos básicos de HTML y CSS
- Inspección Manual de la web
- Código webscraping Python
- Guardar CSV y ver en Excel
- Otros ejemplos útiles de Webscaping:
- Resumen
Anexo II: Machine Learning en la Nube
- ¿Machine Learning en la Nube? Google Colaboratory con GPU!
- Machine Learning desde el Navegador
- La GPU…. ¿en casa o en la nube?
- ¿Qué es Google Colab?
- Enlazar con Google Drive
- Ejecutar una jupyter notebook de Github
- Instalar otras librerías Python con Pip
- Resumen
Anexo III: Principal Component Analysis
- Introducción a PCA
- ¿Qué es Principal Component Analysis?
- ¿Cómo funciona PCA?
- Selección de los Componentes Principales
- ¿Pero… porqué funciona PCA?
- Ejemplo “mínimo” en Python
- Resumen
- Resultados de PCA en el mundo real