Svm训练得分python代码
时间: 2024-10-10 16:12:20 浏览: 41
在Python中,使用支持向量机(SVM)进行训练并获取得分通常涉及scikit-learn库。下面是一个简单的例子,假设我们已经有了训练数据X和对应的标签y:
```python
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 假设你已经加载了数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建SVM分类器
clf = svm.SVC(kernel='linear') # 这里选择线性核,也可以用'poly', 'rbf', 'sigmoid'等其他核函数
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 获取预测得分(准确率)
score = accuracy_score(y_test, y_pred)
print(f"Accuracy: {score}")
# 或者直接获取模型的score(如使用交叉验证得分)
cross_val_score = cross_val_score(clf, X, y, cv=5) # 5折交叉验证
average_score = cross_val_score.mean()
print(f"Cross-validation average score: {average_score}")
```
这里的`accuracy_score`返回的是分类准确率,如果你想要其他的评估指标(比如精确率、召回率、F1分数),可以替换`accuracy_score`。`cross_val_score`则用于计算模型在多次交叉验证下的平均得分。
阅读全文