Menu
CoddyTech

Witaj, uczenie maszynowe

Część sekcji Dane i wykresy ścieżki Machine Learning w Coddy. Lekcja 1 z 60.

Większość programów działa według reguł napisanych przez człowieka. Model uczenia maszynowego sam znajduje reguły na podstawie przykładów.

Oto 150 kwiatów irysa, każdy przedstawiony jako kropka umieszczona na podstawie wielkości jego płatków:

150 kwiatów irysa przedstawionych jako kropki, długość płatka na osi poziomej, szerokość płatka na osi pionowej, trzy wyraźne skupiska, po jednym kolorze i kształcie dla każdego gatunku

Widzisz te trzy grupy? Model też może się ich nauczyć, a potem nazywać kwiaty, których nigdy wcześniej nie widział.

challenge icon

Wyzwanie

Łatwy

Ten program jest gotowy. Naciśnij Run: model uczy się na 112 kwiatach, a następnie rozpoznaje 38 nowych.

Otwórz kartę Plots, aby zobaczyć jego typy. Czy uda ci się znaleźć jedną pomyłkę? Następnie wyślij rozwiązanie.

Spróbuj swoich sił

# Naciśnij Run, aby zobaczyć, jak model się uczy
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 kwiatów irysa: ich wymiary i gatunki
iris = load_iris()
X_learn, X_new, y_learn, y_new = train_test_split(iris.data, iris.target, random_state=0)

# Model uczy się na 112 kwiatach, znając ich gatunki...
model = KNeighborsClassifier()
model.fit(X_learn, y_learn)

# ...a następnie rozpoznaje 38 kwiatów, których nigdy wcześniej nie widział
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")

# Każdy nowy kwiat to punkt, którego kolor odpowiada przewidywaniu modelu; czerwony X oznacza błąd
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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Dane i wykresy

Poćwicz samodzielnie: Kompilator Python online