svm网格搜索调参代码
时间: 2024-11-01 10:06:10 浏览: 4
SVM.rar_svm matlab代码
SVM(支持向量机)的网格搜索是一种常用的超参数优化技术,用于寻找最优模型参数组合,通常涉及到C(惩罚系数)和γ(核函数的参数)。以下是一个简单的Python示例,使用Scikit-learn库中的GridSearchCV:
```python
from sklearn import svm
from sklearn.model_selection import GridSearchCV
from sklearn.datasets import load_iris
# 加载数据集
iris = load_iris()
X, y = iris.data, iris.target
# 定义参数网格
param_grid = {'C': [0.1, 1, 10, 100], 'gamma': [1, 0.1, 0.01, 0.001], 'kernel': ['linear', 'rbf']}
# 初始化SVM分类器
svm_model = svm.SVC()
# 使用GridSearchCV
grid_search = GridSearchCV(svm_model, param_grid, cv=5) # 分割数据进行交叉验证
grid_search.fit(X, y)
# 获取最佳参数组合
best_params = grid_search.best_params_
print(f"Best parameters found: {best_params}")
# 使用最佳参数训练模型
best_svm = svm_model.set_params(**best_params)
best_svm.fit(X, y)
阅读全文