svm调节参数c的代码
时间: 2023-12-24 17:03:49 浏览: 25
下面是使用Scikit-learn库中的SVM模型进行分类并调节参数C的代码示例:
```python
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载数据集
iris = datasets.load_iris()
X, y = iris.data, iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 定义SVM模型
svm = SVC(kernel='linear')
# 定义参数C的取值范围
C_range = [0.01, 0.1, 1, 10, 100]
# 调节参数C
best_score = 0
for C in C_range:
svm.C = C
svm.fit(X_train, y_train)
y_pred = svm.predict(X_test)
score = accuracy_score(y_test, y_pred)
if score > best_score:
best_score = score
best_C = C
print("Best C:", best_C)
```
在上面的代码中,我们使用了鸢尾花数据集(iris)作为例子,划分了训练集和测试集,并使用线性核的SVM模型进行分类。然后,我们定义了参数C的取值范围,并通过循环尝试不同的C值,计算模型在测试集上的准确率。最后,我们选择准确率最高的C值作为模型的最佳参数C。
需要注意的是,上面的代码只是一个示例,实际使用时需要根据具体问题进行调整。