from sklearn.svm import SVC
from sklearn.model_selection import GridSearchCV
model = SVC(probability=True)
param_grid = [{'kernel': ['linear'], 'C': [0.01,0.1,1, 10]},
{'kernel': ['rbf'], 'C': [0.01,0.1,1, 10], 'gamma': [1, 0.1, 0.01, 0.001]},
{'kernel': ['poly'],'C': [ 0.01,0.1,1, 10],
'gamma': [1, 0.1, 0.01, 0.001],'degree':[1,2,3]}
]
grid = GridSearchCV(estimator=model, param_grid=param_grid, cv=10,
scoring='accuracy')
# 针对每个参数对进行了10次交叉验证。scoring='accuracy'使用准确率为结果的度量指标。可以添加多个度量指标
grid.fit(emb_array, labels)
print('网格搜索-度量记录:', grid.cv_results_) # 包含每次训练的相关信息
print('网格搜索-最佳度量值:', grid.best_score_) # 获取最佳度量值
print('网格搜索-最佳参数:', grid.best_params_) # 获取最佳度量值时的代定参数的值。是一个字典
print('网格搜索-最佳模型:', grid.best_estimator_) # 获取最佳度量时的分类器模型
参考链接: