GS-svm交叉验证代码
时间: 2023-09-16 14:14:54 浏览: 109
下面是使用Python中的scikit-learn库实现GS-svm交叉验证的代码示例:
```python
from sklearn.svm import SVC
from sklearn.model_selection import GridSearchCV
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=0)
# 设置参数范围
param_grid = {'C': [0.1, 1, 10, 100], 'gamma': [0.1, 1, 10, 100], 'kernel': ['linear', 'rbf']}
# 创建SVM模型对象
svc = SVC()
# 使用GridSearchCV进行交叉验证
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 score: {:.2f}".format(grid_search.score(X_test, y_test)))
```
在上述代码中,首先加载鸢尾花数据集并划分训练集和测试集。然后设置SVM的参数范围,并创建SVM模型对象。接着使用GridSearchCV函数进行交叉验证,其中参数cv表示进行5折交叉验证,最后输出最优参数和最优得分,并在测试集上评估模型性能。
阅读全文