Tăng cường độ dốc
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 43 trên 58.
Một khu rừng mọc các cây cạnh nhau. Gradient boosting tạo ra các cây lần lượt: mỗi cây mới học từ những điều mà các cây trước đó vẫn dự đoán sai.
Ở đây, mô hình này phù hợp với doanh số của quầy sinh tố, theo từng cây:
Đối với bài toán phân loại, mô hình là GradientBoostingClassifier:
from sklearn.ensemble import GradientBoostingClassifier
boost = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, random_state=0)
boost.fit(X_train, y_train)learning_rate quy định mức độ giữ lại sau mỗi lần sửa. Các bước nhỏ sẽ thận trọng hơn, vì vậy cần nhiều cây hơn.
Thử thách
Trung bìnhNgười trồng lan muốn biết cây nào sẽ nở hoa. Mã khởi đầu chia dữ liệu trong orchids.csv, đánh giá mô hình rừng và đọc số lượng cây.
- Với mỗi tốc độ trong
rates, huấn luyện mô hình boosting với số cây đó (random_state=0) rồi in độ chính xác trên tập kiểm tra. - In tốc độ tốt nhất. Nếu hòa, giữ tốc độ xuất hiện trước.
Với một người trồng lan khác và 20:
Forest: 0.860
Boosting at rate 0.01: 0.600
Boosting at rate 0.1: 0.860
Boosting at rate 1.0: 0.900
Best rate for 20 trees: 1.0Sau đó, thử một vài số lượng cây: khi nào boosting vượt mô hình rừng?
Tự làm thử
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
# Hoa lan trên kệ của người trồng: đã nở trong năm nay (1) hay chưa (0)
orchids = pd.read_csv("orchids.csv")
X = orchids.drop(columns="bloomed")
y = orchids["bloomed"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
trees = int(input())
rates = [0.01, 0.1, 1.0]
# Đừng thay đổi các dòng bên dưới: mô hình rừng dùng để so sánh
forest = RandomForestClassifier(n_estimators=100, random_state=0)
forest.fit(X_train, y_train)
print(f"Forest: {forest.score(X_test, y_test):.3f}")
# 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