给出一个用于SVM的数据集和训练代码
时间: 2024-10-06 10:05:08 浏览: 30
SVM.zip_SVM_svm 数据集_svm数据集
5星 · 资源好评率100%
支持向量机(Support Vector Machine,SVM)是一种常用的监督学习模型,特别适合于分类和回归任务。为了演示如何使用数据集和训练代码,这里我们以Python中的Scikit-learn库为例,它是一个流行机器学习库,包含了SVM的实现。
首先,你需要一个数据集。比如经典的Iris花卉数据集就是一个很好的选择,包含4种不同类型的鸢尾花,每个样本有4个特征。你可以从sklearn.datasets导入这个数据:
```python
from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
```
这里`X`是特征矩阵,`y`是标签数组。数据已经预处理好了,可以直接使用。
接下来,我们可以使用Scikit-learn的SVC(Support Vector Classifier)类来进行训练:
```python
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建SVM分类器
svm_classifier = SVC(kernel='linear') # 使用线性核,其他如'poly', 'rbf'等也是常用选项
# 训练模型
svm_classifier.fit(X_train, y_train)
```
上面的代码设置了训练比例为80%的数据用于训练,剩下的20%用于测试模型性能。`kernel='linear'`表示使用线性内核,如果需要非线性决策边界,可以尝试其他的内核函数。
最后,训练完成后你可以使用测试集评估模型,例如通过`score()`方法计算准确率:
```python
accuracy = svm_classifier.score(X_test, y_test)
print(f"Accuracy on test set: {accuracy}")
```
阅读全文