GridSearchCV自定义scoring示例
时间: 2024-04-21 20:20:30 浏览: 177
GridSearchCV是一个用于自动化调参的工具,它可以通过遍历给定的参数组合来寻找最佳的模型参数。在使用GridSearchCV时,我们可以自定义评分函数来衡量模型的性能。
下面是一个GridSearchCV自定义scoring的示例:
```python
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
from sklearn.metrics import make_scorer, accuracy_score
# 定义自定义评分函数
def custom_scoring(y_true, y_pred):
# 自定义评分逻辑,这里以准确率为例
return accuracy_score(y_true, y_pred)
# 创建SVC分类器对象
svc = SVC()
# 定义参数网格
param_grid = {'C': [0.1, 1, 10], 'kernel': ['linear', 'rbf']}
# 创建GridSearchCV对象,并指定自定义评分函数
grid_search = GridSearchCV(estimator=svc, param_grid=param_grid, scoring=make_scorer(custom_scoring))
# 使用GridSearchCV进行参数搜索和模型训练
grid_search.fit(X, y)
# 输出最佳参数和对应的评分
print("Best parameters: ", grid_search.best_params_)
print("Best score: ", grid_search.best_score_)
```
在上述示例中,我们首先定义了一个自定义评分函数`custom_scoring`,它计算模型的准确率。然后,我们创建了一个SVC分类器对象`svc`,并定义了参数网格`param_grid`。接下来,我们创建了一个GridSearchCV对象`grid_search`,并通过`make_scorer`函数将自定义评分函数传递给`scoring`参数。最后,我们使用`fit`方法进行参数搜索和模型训练,并输出最佳参数和对应的评分。
阅读全文