支持向量机交叉验证代码
时间: 2023-06-11 10:04:25 浏览: 77
以下是一个简单的支持向量机交叉验证代码段,它使用Python的scikit-learn库实现:
```
# 导入需要的库
from sklearn import datasets
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.svm import SVC
# 加载数据集
iris = datasets.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)
# 创建支持向量机模型
svm = SVC()
# 设置参数范围
param_grid = {'C': [0.1, 1, 10, 100], 'kernel': ['linear', 'rbf', 'poly'], 'gamma': ['auto', 'scale']}
# 进行交叉验证
clf = GridSearchCV(svm, param_grid, cv=5)
clf.fit(X_train, y_train)
# 输出结果
print("最佳参数: ", clf.best_params_)
print("训练集准确率: ", clf.score(X_train, y_train))
print("测试集准确率: ", clf.score(X_test, y_test))
```
该代码将Iris数据集加载到变量`iris`中,并将其分为训练和测试集。然后定义了一个支持向量机模型,使用`GridSearchCV`进行5倍交叉验证来搜索最佳参数范围。最后,输出了最佳参数、训练集和测试集准确率。请记住,在实际应用中,可以根据实际情况进行调整和改进。
阅读全文