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)
