可以写代码来寻找最优的C、gamma参数么?并进行模型评估
时间: 2024-03-04 19:49:44 浏览: 70
可以,以下是使用GridSearchCV进行网格搜索来寻找最优的C、gamma参数,并进行模型评估的示例代码:
```python
from sklearn.model_selection import GridSearchCV
from sklearn import svm, datasets
# 加载数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 定义参数范围
param_grid = {'C': [0.1, 1, 10, 100], 'gamma': [0.01, 0.1, 1, 10]}
# 构建SVM模型
svm_model = svm.SVC()
# 使用GridSearchCV进行参数搜索和模型评估
grid_search = GridSearchCV(svm_model, param_grid, cv=5)
grid_search.fit(X, y)
# 输出最优参数和最优得分
print("Best parameters: {}".format(grid_search.best_params_))
print("Best score: {:.2f}".format(grid_search.best_score_))
```
在上述代码中,我们首先加载了iris数据集,然后定义了参数范围param_grid,包括C和gamma两个参数。接着,我们构建了SVM模型svm_model,并使用GridSearchCV进行参数搜索和模型评估,其中cv=5表示使用5折交叉验证。最后,我们输出了最优参数和最优得分。在实际使用中,我们可以使用最优参数来重新训练模型,并使用测试集来进行模型测试和评估。
阅读全文