Tôi đang cố gắng sử dụng rừng ngẫu nhiên cho vấn đề của tôi (dưới đây là mã mẫu cho bộ dữ liệu boston, không phải cho dữ liệu của tôi). Tôi đang lập kế hoạch sử dụng GridSearchCV
để điều chỉnh siêu tham số nhưng điều gì sẽ là phạm vi giá trị cho các thông số khác nhau? Làm cách nào để biết rằng phạm vi tôi chọn là đúng?Điều chỉnh siêu tham số rừng ngẫu nhiên bằng cách sử dụng GridSearchCV
Tôi đã đọc về nó trên internet và ai đó đã đề xuất thử "phóng to" trên mức tối ưu trong tìm kiếm lưới thứ hai (ví dụ: nếu đã 10 thì hãy thử [5, 20, 50]).
Đây có phải là phương pháp phù hợp không? Tôi có nên sử dụng phương pháp này cho TẤT CẢ các tham số cần thiết cho rừng ngẫu nhiên không? Cách tiếp cận này có thể bỏ lỡ một sự kết hợp "tốt", phải không?
import numpy as np
from sklearn.grid_search import GridSearchCV
from sklearn.datasets import load_digits
from sklearn.ensemble import RandomForestRegressor
digits = load_boston()
X, y = dataset.data, dataset.target
model = RandomForestRegressor(random_state=30)
param_grid = { "n_estimators" : [250, 300],
"criterion" : ["gini", "entropy"],
"max_features" : [3, 5],
"max_depth" : [10, 20],
"min_samples_split" : [2, 4] ,
"bootstrap": [True, False]}
grid_search = GridSearchCV(clf, param_grid, n_jobs=-1, cv=2)
grid_search.fit(X, y)
print grid_search.best_params_
Điều này không hỗ trợ hồi quy và nhiều thuật toán, phải không? Trên thực tế, vấn đề của tôi là hồi quy không phân loại. Tôi đã chỉnh sửa câu hỏi của mình. – Muhammad
Mã của bạn hiển thị một RandomForestClassifier ... – Kikohs
Tôi đã chỉnh sửa câu hỏi của mình, xin lỗi vì sự nhầm lẫn. – Muhammad