GridSearchCV网格搜索算法,
经常用于调优模型参数,遍历多个模型参数,带入模型,进行训练,从中找出评分最高的模型。
GridSearchCV(参数1,参数2,参数3,参数4=none)
参数1:模型算法 参数2:需要调优的参数 参数3:评分标准 参数4:k折交叉验证法,默认为空
GridSearchCV的方法:
grid.best_estimator_ 返回最优模型
grid.best_estimator_ 返回不同参数情况下的评价结果
grid.best_params_ 返回 最佳参数
grid.best_score_ 返回 最高的评分
from sklearn.metrics import make_scorer
from sklearn.svm import SVC
from sklearn.metrics import fbeta_score
from sklearn.model_selection import GridSearchCV,KFold
# TODO:初始化分类器
clf =SVC()
#创建交叉验证生成器
cross_validator=KFold(10)
# TODO:创建你希望调节的参数列表
parameters ={'kernel':('linear', 'rbf'), 'C':[1, 10]}
# TODO:创建一个fbeta_score打分对象
scorer = make_scorer(fbeta_score, beta=0.5)
# TODO:在分类器上使用网格搜索,使用'scorer'作为评价函数
grid_obj =GridSearchCV(clf,parameters,scorer,cv=cross_validator)
# # TODO:用训练数据拟合网格搜索对象并找到最佳参数
grid_boj=grid_obj.fit(X_train, y_train)
# # 得到最佳模型
best_clf = grid_obj.best_estimator
##进行预测
best_predictions = best_clf.predict(X_val)