RandomizedSearchCV

Xác thực Mô hình trong Python

Kasey Jones

Data Scientist

Tìm kiếm theo lưới siêu tham số

Khi chọn giá trị cho nhiều siêu tham số, các tùy chọn tạo thành một lưới, gọi là không gian siêu tham số.

Xác thực Mô hình trong Python

Tìm kiếm lưới (tiếp)

Lợi ích:

  • Thử mọi kết hợp khả dĩ

Hạn chế:

  • Thêm siêu tham số làm thời gian huấn luyện tăng theo hàm mũ
Xác thực Mô hình trong Python

Phương pháp tốt hơn

Xác thực Mô hình trong Python

Random search

from sklearn.model_selection import RandomizedSearchCV

random_search = RandomizedSearchCV()

Phân phối tham số:

param_dist = {"max_depth": [4, 6, 8, None],
              "max_features": range(2, 11),
              "min_samples_split": range(2, 11)}
Xác thực Mô hình trong Python

Tham số của random search

Tham số:

  • estimator: mô hình sử dụng
  • param_distributions: từ điển chứa siêu tham số và giá trị khả dĩ
  • n_iter: số vòng lặp
  • scoring: phương pháp chấm điểm
Xác thực Mô hình trong Python

Thiết lập tham số RandomizedSearchCV

param_dist = {"max_depth": [4, 6, 8, None],
              "max_features": range(2, 11),
              "min_samples_split": range(2, 11)}
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import make_scorer, mean_absolute_error

rfr = RandomForestRegressor(n_estimators=20, random_state=1111)
scorer = make_scorer(mean_absolute_error)
Xác thực Mô hình trong Python

Đã triển khai RandomizedSearchCV

Thiết lập random search:

random_search =\
    RandomizedSearchCV(estimator=rfr,
                       param_distributions=param_dist,
                       n_iter=40,
                       cv=5)
  • Không thể tinh chỉnh siêu tham số nếu không hiểu xác thực mô hình
  • Xác thực mô hình cho phép so sánh nhiều mô hình và bộ tham số
Xác thực Mô hình trong Python

Đã triển khai RandomizedSearchCV

Thiết lập random search:

random_search =\
    RandomizedSearchCV(estimator=rfr,
                       param_distributions=param_dist,
                       n_iter=40,
                       cv=5)

Hoàn tất random search:

random_search.fit(X, y)
Xác thực Mô hình trong Python

Hãy xem vài ví dụ!

Xác thực Mô hình trong Python

Preparing Video For Download...