python 使用GridSearchCV对SVM模型参数进行调整
时间: 2024-02-25 16:57:25 浏览: 104
my_SVM_svmpython_python_SVM_
SVM是一种常见的分类算法,它在实际应用中需要调整不同的参数,例如核函数类型、正则化参数等等。使用GridSearchCV可以自动化地搜索最优的参数组合,从而提高SVM的分类性能。
下面是一个使用GridSearchCV对SVM模型参数进行调整的示例:
```python
# 导入数据集
from sklearn.datasets import load_iris
iris = load_iris()
# 划分数据集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2)
# 构建模型
from sklearn.svm import SVC
from sklearn.model_selection import GridSearchCV
parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}
svc = SVC()
clf = GridSearchCV(svc, parameters)
# 拟合模型
clf.fit(X_train, y_train)
# 输出最优参数
print("最优参数为:", clf.best_params_)
# 预测结果
y_pred = clf.predict(X_test)
# 计算准确率
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print("准确率为:", accuracy)
```
在这个例子中,我们使用iris数据集进行分类,将数据集划分为训练集和测试集,然后使用GridSearchCV自动搜索最优的参数组合。在构建SVC模型时,我们指定了需要调整的参数范围,即核函数类型和正则化参数C的取值范围。在拟合模型后,可以通过best_params_属性获取最优的参数组合,然后使用该参数组合进行预测,最后计算准确率。
阅读全文