Cantidad de features
Devolvé cuántas columnas (características) tiene X. Pista: X.shape[1].
Entrá y llevá tu progreso —ejercicios, medallas y Pokémon— a cualquier dispositivo. 🔄
Si tu cuenta ya tiene progreso guardado, se carga ese al entrar.
Entraste como . Tu progreso se sincroniza solo. 🔄
Devolvé cuántas columnas (características) tiene X. Pista: X.shape[1].
🎯 Meta: entrar a Unova, la región de la Inteligencia Artificial. Vas a entrenar tu primer modelo de Machine Learning y verlo predecir solo.
Bienvenido a Unova. 🤖 La IA está en todos lados: recomendaciones, reconocimiento de voz, autos que se manejan solos. La base de casi todo eso es el Machine Learning (ML): en vez de programar las reglas, le mostrás ejemplos al modelo y aprende las reglas solo.
No le explicás a tu Pokémon cómo pelear con una fórmula: lo entrenás con experiencia y aprende. El ML es igual: le das datos y respuestas correctas, y el modelo aprende a responder por su cuenta.
| Concepto | Qué es |
|---|---|
| X (features) | los datos de entrada (ej: ataque y defensa) |
| y (etiquetas) | la respuesta correcta (ej: el tipo) |
.fit(X, y) | entrenar con ejemplos |
.predict(...) | usar el modelo para predecir algo nuevo |
Usamos un clasificador de vecinos cercanos: para predecir, mira a los ejemplos más parecidos y copia su respuesta. Tocá ▶ ejecutar (la primera vez tarda: descarga scikit-learn).
from sklearn.neighbors import KNeighborsClassifier
# datos: [ataque, defensa] -> tipo: 0 = Fuego, 1 = Agua
X = [[90, 40], [85, 45], [40, 90], [45, 85]]
y = [0, 0, 1, 1]
modelo = KNeighborsClassifier(n_neighbors=1)
modelo.fit(X, y) # 🏋️ entrenamos
# ¿qué tipo es un Pokémon con ataque 88 y defensa 42?
print(modelo.predict([[88, 42]])) # [0] -> ¡Fuego!
print(modelo.predict([[42, 88]])) # [1] -> ¡Agua!
💡 n_neighbors=1 significa “mirá el vecino MÁS cercano”. El modelo nunca vio [88, 42], pero lo parecido a sus ejemplos de Fuego, así que predice Fuego. Eso es aprender de los datos.
P: ¿Qué hace `modelo.fit(X, y)`?
- Predice los tipos de los Pokémon en `X`
+ Entrena el modelo usando los datos `X` y las respuestas correctas `y`
- Evalúa qué tan preciso es el modelo
> `fit` es la etapa de **entrenamiento**: el modelo aprende el patrón mirando los ejemplos `X` y sus respuestas `y`. Después de `fit` podés usar `predict`.
from sklearn.neighbors import KNeighborsClassifier
# 1) datos de ejemplo
X = [[10, 1], [9, 2], [1, 10], [2, 9]]
y = ["rápido", "rápido", "lento", "lento"]
# 2) elegir y entrenar un modelo
modelo = KNeighborsClassifier(n_neighbors=1).fit(X, y)
# 3) predecir algo nuevo
print(modelo.predict([[8, 3]])) # ['rápido']
Siempre los mismos 3 pasos: datos → entrenar (fit) → predecir (predict).
P: ¿Qué es `X` en un modelo de Machine Learning?
- Las respuestas correctas que el modelo tiene que aprender
- El nombre del modelo que vamos a entrenar
+ Los datos de entrada (features) que el modelo usa para aprender
> `X` son las **features**: los datos de cada ejemplo (ej: ataque y defensa). `y` son las **etiquetas**: las respuestas correctas (ej: el tipo del Pokémon).
| Cosa | Para qué |
|---|---|
| Machine Learning | aprender reglas a partir de ejemplos |
X / y | datos de entrada / respuestas |
modelo.fit(X, y) | entrenar |
modelo.predict([fila]) | predecir |
KNeighborsClassifier | clasifica mirando a los más parecidos |
Practicá con los ejercicios de este tema. 💪
⚡ “No le programaste las reglas: se las enseñaste. Bienvenido a la IA.”