domingo, 15 de febrero de 2026

One Hot Encoding

 Estoy avanzando a toda máquina con la creación de mi nuevo curso de Machine Learning con Python, basado en mi próximo libro. Hoy he subido el Capítulo 5 y quiero compartir un adelanto exclusivo con mi comunidad más cercana, solo para suscriptores del canal.


En este episodio abordamos uno de los problemas más comunes al preparar datos: ¿Cómo hacemos que un algoritmo entienda palabras como "Rojo", "Verde" o "Azul"? 🎨➡️🔢

Las máquinas solo entienden números, y aquí es donde entra en juego el One Hot Encoding.

🚀 Estado del Curso:
El curso completo se lanzará al público general en Mayo, pero si quieres ir aprendiendo y viendo el progreso paso a paso, ya puedes acceder al contenido de forma anticipada.

📽️ Mira el video 5 aquí: https://www.youtube.com/watch?v=cPF20XACsgM

¿Utilizáis get_dummies de Pandas o preferís OneHotEncoder de Scikit-learn? En el vídeo os cuento por qué prefiero el segundo para producción. 😉



martes, 10 de febrero de 2026

¡Haz tus funciones legibles con NamedTuple! 🏷️🧐

¿Alguna vez has tenido una función que devuelve varios valores y luego no recuerdas qué era cada cosa?


# ❌ El problema: ¿Qué es el 200? ¿Qué es el 50?
resultado = obtener_dimensiones()
ancho = resultado[0]
alto = resultado[1]
Usar índices ([0], [1]) es confuso y propenso a errores. Podrías usar un diccionario, pero los diccionarios son mutables y más pesados. ¡La solución elegante es NamedTuple!

NamedTuple te permite crear pequeñas estructuras de datos donde cada posición tiene un nombre. Es como una tupla, ¡pero con etiquetas!

Mira la diferencia:

from typing import NamedTuple

# ✅ Definimos la estructura
class Dimensiones(NamedTuple):
ancho: int
alto: int
unidad: str

def obtener_pantalla():
return Dimensiones(1920, 1080, "px")

# ¡Ahora el código se explica solo!
pantalla = obtener_pantalla()

print(f"Resolución: {pantalla.ancho}x{pantalla.alto} {pantalla.unidad}")
# Salida: Resolución: 1920x1080 px
¿Por qué usar NamedTuple?

Legibilidad total: Accedes por nombre (pantalla.ancho) no por índice.

Inmutable: Los datos no se pueden cambiar por accidente, lo que evita bugs.

Ligero: Consume mucha menos memoria que una clase normal o un diccionario.

Auto-completado: Tu editor de código (VS Code, PyCharm) te sugerirá los nombres de los campos.

¡Deja de adivinar qué hay en la posición [0] y empieza a usar nombres! 🚀

Más trucos de Pythonic Code aquí 👇



domingo, 8 de febrero de 2026

Control de excepciones

 💥 ¿Tu programa de Python "explota" y se cierra cuando el usuario mete un dato incorrecto? ¡Qué rabia!


Te enseño a ponerle una RED DE SEGURIDAD a tu código.
🕸️ Aprende a usar try, except y finally para que tus aplicaciones sean profesionales y a prueba de fallos.