Huấn luyện và dự đoán
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 3 trên 58.
Mỗi mô hình scikit-learn hoạt động qua hai lệnh gọi. fit học từ các hàng dữ liệu huấn luyện cùng với nhãn của chúng; predict gán nhãn cho những hàng mà mô hình chưa từng thấy:
Mô hình trong bài học đầu tiên của hành trình này là k láng giềng gần nhất: mô hình gán nhãn cho một hàng dựa trên những hàng huấn luyện gần nó nhất. Thú cưng theo cân nặng (kg) và chiều dài tai (cm):
from sklearn.neighbors import KNeighborsClassifier
X_train = np.array([[4, 6], [5, 7], [3, 5], [30, 10], [25, 12], [35, 11]])
y_train = np.array(["cat", "cat", "cat", "dog", "dog", "dog"])
model = KNeighborsClassifier()
model.fit(X_train, y_train)
print(model.predict([[6, 6], [28, 11]]))Lệnh này in ra ['cat' 'dog']. Các hàng mới được thêm vào bảng, mỗi thú cưng một hàng.
Tạo mô hình, khớp mô hình, dự đoán: mọi mô hình trong phần này đều thực hiện theo ba bước này.
Thử thách
DễỨng dụng của câu lạc bộ ngắm chim nhận diện chim dựa vào sải cánh và cân nặng. Phần code khởi đầu chia dữ liệu của câu lạc bộ trong birds.csv và đọc thông tin những con chim được phát hiện tối nay vào bảng spotted.
- Tạo mô hình k-nearest neighbors và huấn luyện mô hình bằng dữ liệu chim huấn luyện.
- Dự đoán tất cả chim được phát hiện chỉ trong một lần gọi.
- In một dòng cho mỗi con chim, như bên dưới.
Với ba con chim trong một chuyến đi khác:
Bird 1: sparrow
Bird 2: blackbird
Bird 3: robinTự làm thử
import pandas as pd
from sklearn.model_selection import train_test_split
# Mỗi con chim mà câu lạc bộ đã đặt tên chiếm một hàng: sải cánh tính bằng cm, cân nặng tính bằng gam
birds = pd.read_csv("birds.csv")
X = birds[["wingspan_cm", "weight_g"]]
y = birds["species"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
# Buổi đi dạo tối nay: số lượng chim, rồi đến sải cánh và cân nặng của từng con
count = int(input())
spans = []
weights = []
for i in range(count):
spans.append(float(input()))
weights.append(float(input()))
spotted = pd.DataFrame({"wingspan_cm": spans, "weight_g": weights})
# Viết code của bạn bên dưới
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
1Mô hình đầu tiên của bạn
Học từ ví dụTập huấn luyện và tập kiểm traHuấn luyện và dự đoánChấm điểm mô hìnhÔn tập: Bộ sắp xếp hạt giống2Láng giềng gần nhất
Cách k-NN đưa ra quyết địnhChọn kRanh giới quyết địnhChuẩn hóa dữ liệu cho láng giềngÔn tập: láng giềng với dữ liệu rượu vang5Đánh giá bộ phân loại
Ma trận nhầm lẫnĐộ chính xác và độ thu hồiĐiểm F1Các lớp mất cân bằngĐường cong ROCÔn tập: Bài kiểm tra sàng lọc11Dự án: Các loài chim cánh cụt
Làm quen với chim cánh cụtChuẩn bị dữ liệuChọn mô hìnhTinh chỉnh mô hình tốt nhấtĐưa mô hình vào sử dụng3Hồi quy tuyến tính
Dự đoán các con sốNhiều đặc trưngĐo lường sai sốBiểu đồ phần dưÔn tập: Thuê xe đạp6Cây quyết định
Cây đặt câu hỏiĐọc câyĐộ sâu của câyTầm quan trọng của đặc trưngÔn tập: quyết định cho vay9Các mô hình tổ hợp
Rừng ngẫu nhiênVì sao rừng hoạt động hiệu quảTăng cường độ dốcÔn tập: Người kiểm lâm rừng12Thử thách cuối cùng
Tiến triển của bệnh tiểu đườngPhê duyệt tín dụngChữ số viết tayKhách hàng rời bỏTự luyện tập: Trình biên dịch Python online