Menu
CoddyTech

Hola, Machine Learning

Parte de la sección Datos y gráficos del Journey de Machine Learning de Coddy. Lección 1 de 60.

La mayoría de los programas siguen reglas escritas por una persona. Un modelo de aprendizaje automático encuentra sus propias reglas a partir de ejemplos.

Aquí hay 150 flores de iris, cada una representada por un punto según el tamaño de sus pétalos:

150 flores de iris representadas como puntos, con la longitud de los pétalos en el eje horizontal y el ancho de los pétalos en el eje vertical, en tres grupos bien diferenciados, con un color y una forma por especie

¿Ves los tres grupos? Un modelo también puede aprenderlos y después nombrar flores que nunca ha visto.

challenge icon

Desafío

Fácil

Este programa está listo. Pulsa Run: el modelo estudia 112 flores, después nombra 38 nuevas.

Abre la pestaña Plots para ver sus predicciones. ¿Puedes detectar su único error? Después, envía la solución.

Pruébalo tú mismo

# Pulsa Run para ver cómo aprende un modelo
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
import matplotlib.pyplot as plt

# 150 flores de iris: sus medidas y sus especies
iris = load_iris()
X_learn, X_new, y_learn, y_new = train_test_split(iris.data, iris.target, random_state=0)

# El modelo estudia 112 flores junto con sus respuestas...
model = KNeighborsClassifier()
model.fit(X_learn, y_learn)

# ...y luego identifica 38 flores que nunca ha visto
guesses = model.predict(X_new)
right = (guesses == y_new).sum()
print(f"Studied {len(X_learn)} flowers")
print(f"Named {right} of {len(X_new)} new flowers correctly")

# Cada flor nueva es un punto coloreado según la predicción del modelo; una X roja marca un error
fig, ax = plt.subplots()
for i, name in enumerate(iris.target_names):
    picked = guesses == i
    ax.scatter(X_new[picked, 2], X_new[picked, 3], label=f"guessed {name}")
wrong = guesses != y_new
ax.scatter(X_new[wrong, 2], X_new[wrong, 3], marker="x", color="red", s=120, label="mistake")
ax.set_title("The model's guesses for 38 new flowers")
ax.set_xlabel("petal length (cm)")
ax.set_ylabel("petal width (cm)")
ax.legend()
plt.show()
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Datos y gráficos

Practica por tu cuenta: Compilador de Python online