SVM超参数网格搜索法超参数寻优,各参数组合的准确率python
时间: 2023-06-21 14:21:55 浏览: 91
要输出SVM超参数网格搜索法超参数寻优中各参数组合的准确率,可以使用GridSearchCV类的cv_results_属性。具体步骤如下:
1. 使用GridSearchCV类进行超参数寻优。
2. 访问cv_results_属性,获取各参数组合的评分信息。
3. 输出各参数组合的准确率。
在Python中,可以按照以下代码进行操作:
```python
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
# 加载数据集
digits = load_digits()
X, y = digits.data, digits.target
# 将数据集分成训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义SVM模型
svc = SVC()
# 定义超参数搜索范围
param_grid = {'C': [0.1, 1, 10], 'gamma': [0.1, 1, 10]}
# 使用交叉验证进行超参数寻优
grid_search = GridSearchCV(svc, param_grid, cv=5)
grid_search.fit(X_train, y_train)
# 输出各参数组合的准确率
results = grid_search.cv_results_
for mean_score, params in zip(results["mean_test_score"], results["params"]):
print("{}: {:.2f}%".format(params, mean_score * 100))
```
其中,mean_test_score属性存储了各参数组合的平均测试准确率,params属性存储了各参数组合的超参数值。输出的结果类似于以下内容:
```
{'C': 0.1, 'gamma': 0.1}: 18.48%
{'C': 0.1, 'gamma': 1}: 18.48%
{'C': 0.1, 'gamma': 10}: 18.48%
{'C': 1, 'gamma': 0.1}: 98.50%
{'C': 1, 'gamma': 1}: 98.50%
{'C': 1, 'gamma': 10}: 98.50%
{'C': 10, 'gamma': 0.1}: 98.50%
{'C': 10, 'gamma': 1}: 98.50%
{'C': 10, 'gamma': 10}: 98.50%
```
阅读全文