Tinh chỉnh siêu tham số trong Python
Alex Scriven
Data Scientist
Trong tiến hóa di truyền ngoài đời thực, quy trình như sau:
Ta áp dụng ý tưởng này cho tinh chỉnh siêu tham số:
Đây là tìm kiếm có chỉ dẫn với nhiều ưu điểm:
Thư viện hữu ích cho tinh chỉnh siêu tham số di truyền là TPOT:
Hãy xem TPOT như Trợ lý Khoa học Dữ liệu của bạn. TPOT là công cụ AutoML Python tối ưu hóa các pipeline máy học bằng lập trình di truyền.
Pipeline không chỉ gồm mô hình (hoặc nhiều mô hình) mà còn xử lý đặc trưng và các bước khác. Ngoài ra còn trả về mã Python của pipeline cho bạn!
Các tham số chính của TPOT classifier:
generations: Số vòng lặp huấn luyện.population_size: Số mô hình giữ lại sau mỗi vòng.offspring_size: Số mô hình tạo ra mỗi vòng.mutation_rate: Tỷ lệ pipeline áp dụng ngẫu nhiên.crossover_rate: Tỷ lệ pipeline lai mỗi vòng.scoring: Hàm chọn mô hình tốt nhất.cv: Chiến lược cross-validation.Một ví dụ đơn giản:
from tpot import TPOTClassifier tpot = TPOTClassifier(generations=3, population_size=5, verbosity=2, offspring_size=10, scoring='accuracy', cv=5)tpot.fit(X_train, y_train) print(tpot.score(X_test, y_test))
Chúng ta giữ mặc định cho mutation_rate và crossover_rate vì tốt nhất nên để mặc định nếu không có hiểu biết sâu về lập trình di truyền.
Lưu ý: Không có siêu tham số riêng cho thuật toán?
Tinh chỉnh siêu tham số trong Python