Cây đặt câu hỏi
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 27 trên 58.
Chương này kết thúc với một cây giải thích khoản vay nông trại. Cây quyết định đặt ra trò chơi hai mươi câu hỏi: mỗi lần hỏi một câu hỏi có hoặc không về một đặc điểm, cho đến khi có câu trả lời:
Quá trình huấn luyện chọn từng câu hỏi sao cho các câu trả lời phân chia các lớp rõ ràng nhất có thể:
from sklearn.tree import DecisionTreeClassifier
tree = DecisionTreeClassifier(max_depth=2, random_state=0)
tree.fit(X_train, y_train) # chiều dài và chiều rộng cánh hoa, cm
print(tree.predict([[4.5, 1.4]]))Lệnh này in ra [1], versicolor. max_depth=2 cho phép có hai câu hỏi trên mỗi đường đi. Không cần chuẩn hóa tỷ lệ: mỗi câu hỏi đọc một đặc trưng.
Thử thách
Trung bìnhMột cửa hàng cho thuê máy ảnh gửi tin nhắn nhắc nhở khi thiết bị có thể được trả muộn. Đoạn code khởi đầu chia dữ liệu các lần cho thuê trước đây và đọc thông tin một lần thuê mới vào bảng một hàng new_rental.
- Huấn luyện một cây quyết định với tối đa 2 câu hỏi trên mỗi đường đi (
random_state=0). - In độ chính xác trên tập kiểm tra (3 chữ số thập phân) và câu trả lời cho lần thuê mới:
likely latekhi giá trị là 1,likely on timekhi giá trị là 0.
Với một cửa hàng khác:
Test accuracy: 0.792
This rental: likely on timeTự làm thử
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
# Các lượt thuê trước: 1 trong late nghĩa là thiết bị đã được trả muộn
rentals = pd.read_csv("rentals.csv")
features = ["rental_weeks", "gear_value_usd", "customer_age", "late_before"]
X_train, X_test, y_train, y_test = train_test_split(rentals[features], rentals["late"], test_size=0.25, random_state=0)
# Lượt thuê mới: số tuần thuê, giá trị thiết bị, tuổi khách hàng và số lần họ trả muộn trước đó
weeks = int(input())
value = int(input())
age = int(input())
late_before = int(input())
new_rental = pd.DataFrame([[weeks, value, age, late_before]], columns=features)
# Viết code 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