GridSearchCV để tìm tham số tối ưu
Trong bài tập này, bạn sẽ tinh chỉnh mô hình theo cách bớt “ngẫu nhiên” bằng cách dùng GridSearchCV để làm việc đó cho bạn.
Với GridSearchCV, bạn có thể xác định chỉ số hiệu năng để chấm điểm cho các lựa chọn. Vì trong phát hiện gian lận, mục tiêu chính là bắt được càng nhiều giao dịch gian lận càng tốt, bạn có thể tối ưu thiết lập mô hình để đạt điểm Recall cao nhất. Nếu bạn cũng muốn giảm số lượng dương tính giả, bạn có thể tối ưu theo F1-score để cân bằng giữa Precision và Recall.
GridSearchCV đã được import sẵn từ sklearn.model_selection, hãy thử áp dụng nhé!
Bài tập này là một phần của khóa học
Phát hiện gian lận với Python
Hướng dẫn bài tập
- Xác định trong lưới tham số rằng bạn muốn thử 1 và 30 cây, và muốn thử tiêu chí chia
ginivàentropy. - Định nghĩa mô hình là RandomForestClassifier đơn giản; giữ
random_stateở 5 để có thể so sánh các mô hình. - Đặt tùy chọn
scoringđể tối ưu theo recall. - Huấn luyện mô hình trên dữ liệu train
X_trainvày_trainvà lấy ra bộ tham số tốt nhất cho mô hình.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Define the parameter sets to test
param_grid = {'n_estimators': [____, ____], 'max_features': ['auto', 'log2'], 'max_depth': [4, 8], 'criterion': ['____', '____']
}
# Define the model to use
model = ____(random_state=5)
# Combine the parameter sets with the defined model
CV_model = GridSearchCV(estimator=model, param_grid=param_grid, cv=5, scoring='____', n_jobs=-1)
# Fit the model to our training data and obtain best parameters
CV_model.fit(____, ____)
CV_model.____