网格搜素算法的使用

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)
原文地址:https://www.cnblogs.com/HL-blog/p/8883478.html