Menu
CoddyTech

Tập huấn luyện và tập kiểm tra

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 2 trên 58.

Một mô hình có thể ghi nhớ các hàng dữ liệu mà nó đã học, nên kiểm tra mô hình trên những hàng đó chẳng chứng minh được gì. Thay vào đó, hãy giấu đi một số hàng: tập kiểm tra đại diện cho dữ liệu mới.

Mười hai hàng được đánh số theo thứ tự được xáo trộn và chia ra: chín ô màu xanh, 10 2 8 1 7 9 3 0 5, có nhãn train, và ba ô màu cam, 6 11 4, có nhãn test

Mô hình đầu tiên trong hành trình này đã nghiên cứu 112 bông hoa diên vĩ và phân loại 38 bông. Dòng này chia dữ liệu cho chúng:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

iris = load_iris()
X = iris.data
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
print(X_train.shape, X_test.shape)

Lệnh này in ra (112, 4) (38, 4). Bốn phần luôn xuất hiện theo thứ tự này, và random_state=0 giúp xáo trộn lặp lại giống nhau.

Huấn luyện trên tập huấn luyện. Chỉ mở tập kiểm tra một lần, vào cuối cùng.

challenge icon

Thử thách

Dễ

Một camera ban đêm trong rừng đã ghi lại 200 con vật, mỗi con là cáo hoặc lửng, trong camera.csv. Chia dữ liệu như vậy có tạo ra một tập kiểm tra công bằng không? Đoạn code khởi đầu tạo X và y, rồi đọc test_size.

  1. Chia dữ liệu bằng test_size đó và random_state=0.
  2. In kích thước các phần như bên dưới.
  3. In tỷ lệ cáo trong mỗi phần, dưới dạng phần trăm nguyên.

Với một khu rừng khác và 0.25:

Train: 90 snapshots
Test: 30 snapshots
Foxes: 52% of train, 47% of test

Tự làm thử

import pandas as pd

# Mỗi ảnh chụp từ camera ban đêm tương ứng với một hàng
camera = pd.read_csv("camera.csv")
X = camera[["minutes_after_sunset", "length_cm", "speed_kmh"]]
y = camera["animal"]
test_size = float(input())

# 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