Curso Python + Machine Learning

Mindmap de Machine Learning

Mapa visual de los conceptos clave: pipeline, preprocesamiento, modelos supervisados, modelos no supervisados, métricas y conceptos transversales.

⚙️ Machine Learning Pipeline

El pipeline resume el flujo completo de trabajo en un proyecto de Machine Learning. La idea clave es que el modelo es solo una parte: la calidad del resultado depende también de cómo se limpian, transforman, dividen y evalúan los datos.

Datos Features X Target y Train/Test Modelo Métricas Interpretación
1
Problema ¿Regresión, clasificación, clustering o asociación?
2
Datos Carga, exploración, tipos, nulos y distribución.
3
Limpieza Duplicados, NULLs y outliers.
4
Transformación Encoding, scaling y selección de features.
5
Split Train/Test en problemas supervisados.
6
Entrenamiento fit(), predict(), labels o reglas.
7
Evaluación Métrica adecuada según el tipo de problema.

🧹 Preprocesamiento

Duplicados

Eliminar registros repetidos para evitar sesgos e inflar artificialmente los datos.

df.drop_duplicates()
NULLs

Eliminar o imputar valores ausentes según el contexto del problema.

dropna() · fillna() · SimpleImputer
Outliers por IQR

Detecta extremos usando cuartiles.

IQR = Q3 - Q1
Límite inf = Q1 - 1.5·IQR
Límite sup = Q3 + 1.5·IQR
Outliers por Z-Score

Mide cuántas desviaciones estándar se aleja un valor de la media.

z = (x - μ) / σ
Outlier típico: |z| > 3
Codificación

Transforma variables categóricas en formato numérico.

OneHotEncoder · OrdinalEncoder
Estandarización / Escalado

Importante en modelos basados en distancias o gradientes.

StandardScaler: x' = (x - μ)/σ
MinMaxScaler: x' = (x - min)/(max - min)

📏 Métricas de Regresión

R² Score

Indica qué parte de la variabilidad de la variable objetivo consigue explicar el modelo.

R² = 1 - SSres / SStot
  • SSres: suma de los errores residuales al cuadrado.
  • SStot: variación total de los datos respecto a la media.
SSres = Σ(yi - ŷi)²
SStot = Σ(yi - ȳ)²

Si SSres es pequeño comparado con SStot, el modelo explica bien los datos.

MAE

Error medio absoluto. Muy interpretable en unidades reales.

MAE = (1/n) Σ |yi - ŷi|
MSE

Penaliza más los errores grandes al elevarlos al cuadrado.

MSE = (1/n) Σ (yi - ŷi)²
Lectura práctica
  • R² alto: mejor ajuste.
  • MAE bajo: menor error medio.
  • MSE bajo: menos errores grandes.

🧮 Métricas de Clasificación

Accuracy

Proporción de predicciones correctas sobre el total.

Accuracy = (TP + TN) / (TP + TN + FP + FN)
Confusion Matrix

Resume aciertos y errores por clase.

TP · TN · FP · FN
Lectura práctica
  • FP: predijo positivo y era negativo.
  • FN: predijo negativo y era positivo.
Precaución

Accuracy puede ser engañosa si las clases están desbalanceadas.

Supervised Machine Learning

📈 Regresión Lineal

Predice valores numéricos a partir de una relación lineal entre variables.

Objetivo

Estimar una variable continua como precio, ventas o temperatura.

ŷ = β0 + β1x1 + β2x2 + ... + βnxn
Claves
  • Salida numérica.
  • Asume relación lineal.
  • Se evalúa con R², MAE y MSE.

🔮 Regresión Logística

Clasifica estimando una probabilidad entre 0 y 1 mediante la función sigmoide.

Objetivo

Clasificación binaria o multiclase, por ejemplo: spam/no spam, aprobado/suspenso.

p = 1 / (1 + e^(-z))
z = β0 + β1x1 + ... + βnxn
Claves
  • Salida probabilística.
  • Se convierte a clase con un umbral.
  • Se evalúa con Accuracy y Confusion Matrix.

🌲 Decision Tree

Toma decisiones dividiendo los datos con reglas del tipo “si... entonces...”.

Objetivo

Crear reglas interpretables para predecir una clase o un valor numérico.

Criterio típico:
Gini = 1 - Σ pᵢ²
Nodo de ejemplo

Así se interpreta un nodo de un árbol de decisión de clasificación.

minutos_redes_sociales_dia <= 246.0 gini = 0.465
samples = 57
value = [36, 21]
class = No aprueba
Cómo leer el nodo
  • Condición: regla que divide los datos.
  • gini: impureza del nodo; cuanto menor, más puro.
  • samples: registros que llegan al nodo.
  • value: distribución de clases.
  • class: clase predicha por mayoría.

🌳 Random Forest

Ensemble de muchos árboles de decisión para ganar robustez y reducir overfitting.

Objetivo

Combinar múltiples árboles para obtener una predicción más estable.

Predicción final = voto mayoritario / promedio de árboles
Claves
  • Usa bagging y aleatoriedad.
  • Suele generalizar mejor que un único árbol.
  • Menos interpretable que Decision Tree.

📍 KNN

Predice según los K vecinos más cercanos del espacio de características.

Objetivo

Clasificar o predecir un valor en función de observaciones parecidas.

d = √Σ(xi - yi)²
Claves
  • Muy sensible al escalado.
  • Depende de la elección de K.
  • Basado en distancias.
Unsupervised Learning

🧩 Visión general

Idea principal

Aprendizaje sin variable objetivo. El algoritmo busca patrones ocultos en los datos.

No hay y conocida → trabajamos solo con X
Técnicas vistas
K-Means Hierarchical Clustering A Priori

🎯 K-Means

Objetivo

Agrupar observaciones en K clusters minimizando la distancia al centroide.

Objetivo: minimizar Σ ||xi - μk||²
Conceptos clave
  • K = número de clusters.
  • Centroide = centro de cada grupo.
  • Iteración = asignar puntos y recalcular centroides.
Métricas
Inercia = Σi min ||xi - μk||²
s = (b - a) / max(a, b)

🌳 Hierarchical Clustering

Objetivo

Construir una jerarquía de clusters y representarla en un dendrograma.

Salida visual: dendrograma
Linkage Methods
  • Single: distancia mínima.
  • Complete: distancia máxima.
  • Average: distancia media.
  • Ward: minimiza varianza interna.
Importante

No requiere definir K al principio, pero sí decidir dónde cortar el dendrograma.

🛒 A Priori

Objetivo

Encontrar reglas de asociación entre elementos frecuentes.

Regla típica: A → B
Métricas
Support(A) = transacciones con A / total
Confidence(A→B) = Support(A∪B) / Support(A)
Lift(A→B) = Confidence(A→B) / Support(B)
Interpretación
  • Lift > 1: asociación positiva.
  • Lift = 1: independencia.
  • Lift < 1: asociación negativa.
Conceptos Transversales

🧠 Fundamentos

Data Leakage

Información del test o del futuro se cuela en el entrenamiento.

Error típico: escalar antes de train_test_split
Overfitting

El modelo memoriza entrenamiento y falla al generalizar.

Train alto + Test bajo = posible overfitting
Underfitting

El modelo es demasiado simple y no aprende bien.

Train bajo + Test bajo = posible underfitting
Distancias

Clave en KNN, K-Means y clustering jerárquico. Por eso muchas veces hay que escalar.

d = √Σ(xi - yi)²

🧭 Variables y Evaluación

Features X

Variables de entrada que el modelo usa para aprender.

X = columnas predictoras
Target y

Variable objetivo a predecir en supervised learning.

y = valor real que el modelo intenta aprender
Métricas

Se eligen según el problema: regresión, clasificación o clustering.

Regresión ≠ Clasificación ≠ Clustering
Interpretación

No basta con una métrica alta: el resultado debe tener sentido práctico.

Buen modelo = buena métrica + sentido práctico