提供一个用于SVM二分类的数据集和训练代码
时间: 2024-10-06 12:05:10 浏览: 45
svm_SVM向量机实现花粉数据集二分类_
5星 · 资源好评率100%
支持向量机(Support Vector Machine, SVM)是一种常用的监督学习算法,特别适用于小样本、非线性和高维数据。这里我会提供一个简单的例子,使用Python的Scikit-learn库来创建一个二分类问题的数据集,并进行训练。
首先,我们需要导入必要的库:
```python
import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
```
接下来,我们选择一个经典的数据集,比如Iris dataset中的前两个类别(Setosa和Versicolor),作为我们的二分类任务:
```python
iris = datasets.load_iris()
X = iris.data[:, :2] # 取前两特征
y = (iris.target == 0) | (iris.target == 1) # Setosa和Versicolor
# 数据标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
```
现在我们将数据分为训练集和测试集:
```python
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
```
然后我们可以建立并训练SVM模型:
```python
svm_model = SVC(kernel='linear') # 使用线性核
svm_model.fit(X_train, y_train)
```
这就是一个基本的SVM二分类数据集和训练代码示例。
阅读全文