使用 GridSearchCV 联合调优 gamma 和 C
在上一个练习中,使用默认的 C(即 1)时,gamma 的最佳取值是 0.001。本练习中,您将使用 GridSearchCV 同时搜索 C 和 gamma 的最佳组合。
与上一个练习一样,2-vs-not-2 的手写数字数据集已加载好,但这一次它被拆分为 X_train、y_train、X_test 和 y_test。即使交叉验证会将训练集再划分为若干部分,通常仍建议额外保留一个独立的测试集,以确保交叉验证的结果合理可靠。
本练习是课程的一部分
Python 中的线性分类器
练习说明
- 在训练集上运行
GridSearchCV,寻找最佳超参数。 - 打印出最佳参数的取值。
- 打印在测试集上的准确率;测试集未参与交叉验证过程。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Instantiate an RBF SVM
svm = SVC()
# Instantiate the GridSearchCV object and run the search
parameters = {'C':[0.1, 1, 10], 'gamma':[0.00001, 0.0001, 0.001, 0.01, 0.1]}
searcher = GridSearchCV(svm, ____)
____.fit(____)
# Report the best parameters and the corresponding score
print("Best CV params", searcher.best_params_)
print("Best CV accuracy", searcher.best_score_)
# Report the test accuracy using these best parameters
print("Test accuracy of best grid search hypers:", searcher.score(____))