Menu
CoddyTech

Chấm điểm mô hình

Thuộc phần Học có giám sát trong hành trình Machine Learning của Coddy. Bài học 4 trên 58.

Mô hình có tốt không? Độ chính xác, tỷ lệ số hàng trong tập kiểm tra mà mô hình dự đoán đúng, sẽ cho bạn biết. Hãy so sánh với một dự đoán đơn giản:

Hai cột biểu thị độ chính xác trên 50 khoản vay kiểm tra: luôn đoán là trả đúng hạn đạt 0.78, mô hình k-NN đạt 0.88

78% số lượt mượn sách của thư viện này được trả đúng hạn, vì vậy nếu lần nào cũng trả lời đúng hạn thì điểm là 0.78. Đó là mốc chuẩn.

from sklearn.metrics import accuracy_score

pred = model.predict(X_test)
print(accuracy_score(y_test, pred))
print(model.score(X_test, y_test))
common = y_train.value_counts().index[0]
print((y_test == common).mean())

Lệnh này in ra 0.88, 0.88, 0.78. score vừa dự đoán vừa đếm trong một lần gọi; mô hình cơ sở luôn trả lời bằng nhãn phổ biến nhất trong dữ liệu huấn luyện.

Mô hình chỉ xứng đáng được sử dụng khi vượt qua mức cơ sở.

challenge icon

Thử thách

Dễ

Các cảm biến của người nuôi ong theo dõi 160 tổ ong trong hives.csv; swarm cho biết mỗi tổ có chia đàn hay không. Một cảm biến có thể cảnh báo người nuôi ong không? Mã khởi đầu đọc tên cảm biến rồi huấn luyện mô hình chỉ dựa trên cảm biến đó.

  1. In độ chính xác trên tập kiểm tra, làm tròn đến 3 chữ số thập phân.
  2. In đường cơ sở, nêu nhãn mà mô hình luôn dự đoán.
  3. In xem mô hình có vượt qua đường cơ sở hay không.

Với một trại ong khác và weight_change_kg:

Model on weight_change_kg: 0.775
Always "no": 0.7
Beats the baseline: yes

Tự làm thử

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

# Mỗi tổ ong một hàng: dữ liệu cảm biến và tổ đó có chia đàn hay không
hives = pd.read_csv("hives.csv")
sensor = input()
X = hives[[sensor]]
y = hives["swarm"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
model = KNeighborsClassifier()
model.fit(X_train, y_train)

# Viết code của bạn bên dưới
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 Học có giám sát

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