鸢尾花分类svm.SVC 正确率最高参数设置
时间: 2023-08-17 09:06:12 浏览: 264
鸢尾花分类任务中,SVM分类器的最优参数设置可以通过网格搜索(Grid Search)来确定。对于SVC分类器,有几个关键的参数需要设置,包括C、kernel、gamma等。
其中,C是惩罚系数,决定了分类器对误分类样本的惩罚程度。kernel是核函数的类型,常用的有线性核、多项式核和高斯核等。gamma是核函数的系数,控制了核函数的宽度。
以下是一个例子,展示如何使用Grid Search来寻找最优的SVC参数设置:
```python
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义参数范围
param_grid = {'C': [0.1, 1, 10, 100], 'kernel': ['linear', 'poly', 'rbf', 'sigmoid'], 'gamma': ['scale', 'auto']}
# 定义SVC分类器
svc = SVC()
# 使用Grid Search进行参数调优
grid_search = GridSearchCV(svc, param_grid, cv=5)
grid_search.fit(X_train, y_train)
# 输出最优参数设置和在测试集上的分类准确率
print("Best parameters: {}".format(grid_search.best_params_))
print("Best cross-validation score: {:.2f}".format(grid_search.best_score_))
print("Test set accuracy: {:.2f}".format(grid_search.score(X_test, y_test)))
```
上述代码中,我们使用了GridSearchCV函数来进行网格搜索。其中,param_grid参数指定了需要搜索的参数范围,cv参数指定了交叉验证的折数。在搜索完成后,我们可以输出最优参数设置和在测试集上的分类准确率。
阅读全文