Menu
CoddyTech

Xin chào, Machine Learning

Thuộc phần Dữ liệu và biểu đồ trong hành trình Machine Learning của Coddy. Bài học 1 trên 60.

Hầu hết chương trình đều tuân theo các quy tắc do con người viết ra. Mô hình học máy tự tìm ra quy tắc từ các ví dụ.

Đây là 150 bông hoa diên vĩ, mỗi bông được biểu thị bằng một dấu chấm đặt theo kích thước cánh hoa:

150 bông hoa diên vĩ được biểu thị bằng dấu chấm, chiều dài cánh hoa trên trục ngang và chiều rộng cánh hoa trên trục dọc, thành ba cụm rõ rệt, mỗi loài có một màu và hình dạng riêng

Bạn thấy ba nhóm đó chứ? Một mô hình cũng có thể học cách phân biệt chúng, rồi gọi tên những bông hoa mà nó chưa từng thấy.

challenge icon

Thử thách

Dễ

Chương trình này đã sẵn sàng. Nhấn Chạy: mô hình nghiên cứu 112 bông hoa, rồi gọi tên 38 bông hoa mới.

Mở thẻ Biểu đồ để xem các dự đoán của mô hình. Bạn có tìm ra lỗi duy nhất không? Sau đó, hãy nộp bài.

Tự làm thử

# Nhấn Chạy để xem mô hình học
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 bông hoa diên vĩ: số đo và loài của chúng
iris = load_iris()
X_learn, X_new, y_learn, y_new = train_test_split(iris.data, iris.target, random_state=0)

# Mô hình học từ 112 bông hoa cùng đáp án tương ứng...
model = KNeighborsClassifier()
model.fit(X_learn, y_learn)

# ...rồi xác định loài của 38 bông hoa chưa từng thấy
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")

# Mỗi bông hoa mới là một chấm có màu theo dự đoán của mô hình; dấu X màu đỏ đánh dấu một dự đoán sai
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 iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Dữ liệu và biểu đồ

Tự luyện tập: Trình biên dịch Python online