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)