SVM(Support Vector Machine)二分类算法,预测一个数据集,得到结果为0或1的代码
时间: 2024-05-04 19:19:09 浏览: 67
下面是一个使用sklearn库中的SVM算法对一个数据集进行二分类预测的代码:
```python
from sklearn import svm
import numpy as np
# 定义训练数据集和标签
X_train = np.array([[1,1], [2,2], [1,2], [2,1]])
y_train = np.array([1,1,0,0])
# 定义测试数据集
X_test = np.array([[3,3], [4,4]])
# 定义SVM分类器
clf = svm.SVC(kernel='linear')
# 训练模型
clf.fit(X_train, y_train)
# 预测测试数据集
y_pred = clf.predict(X_test)
print(y_pred)
```
在这个例子中,我们定义了一个训练数据集 `X_train` 和对应的标签 `y_train`,其中 `[1,1]` 和 `[2,2]` 属于类别1, `[1,2]` 和 `[2,1]` 属于类别0。接着我们定义了一个测试数据集 `X_test`,其中 `[3,3]` 和 `[4,4]` 是需要进行分类的样本。然后我们使用SVM算法中的线性核函数 `kernel='linear'`,初始化了一个分类器 `clf`。接着使用 `clf.fit(X_train, y_train)` 进行模型训练。最后使用 `clf.predict(X_test)` 对测试数据集进行预测,得到的结果 `y_pred` 为 `[1 1]`,表示样本 `[3,3]` 和 `[4,4]` 都属于类别1。
阅读全文