Menu
CoddyTech

Ciao, Machine Learning

Fa parte della sezione Dati e grafici del percorso Machine Learning di Coddy. Lezione 1 di 60.

La maggior parte dei programmi segue regole scritte da una persona. Un modello di apprendimento automatico trova le proprie regole a partire da esempi.

Ecco 150 fiori di iris, ognuno rappresentato da un punto posizionato in base alle dimensioni dei suoi petali:

150 fiori di iris rappresentati da punti, con la lunghezza dei petali sull'asse orizzontale e la larghezza dei petali sull'asse verticale, in tre gruppi distinti, un colore e una forma per specie

Vedi i tre gruppi? Anche un modello può imparare a riconoscerli e poi dare un nome a fiori che non ha mai visto.

challenge icon

Sfida

Facile

Questo programma è pronto. Premi Run: il modello studia 112 fiori, poi dà un nome a 38 fiori nuovi.

Apri la scheda Plots per vedere le sue ipotesi. Riesci a individuare il suo unico errore? Poi invia.

Provalo tu

# Premi Run per vedere un modello imparare
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 fiori di iris: le loro misure e le loro specie
iris = load_iris()
X_learn, X_new, y_learn, y_new = train_test_split(iris.data, iris.target, random_state=0)

# Il modello studia 112 fiori insieme alle risposte corrette...
model = KNeighborsClassifier()
model.fit(X_learn, y_learn)

# ...poi identifica 38 fiori che non ha mai 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")

# Ogni nuovo fiore è un punto, colorato in base alla previsione del modello; una X rossa indica un errore
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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Dati e grafici

Esercitati da solo: Compilatore Python online