硬间隔支持向量机的代码
时间: 2024-04-22 13:21:18 浏览: 69
硬间隔支持向量机是一种用于二分类问题的机器学习算法,它的目标是找到一个最优的超平面来将两个类别的样本分开。以下是一个简单的硬间隔支持向量机的代码示例:
```python
import numpy as np
from sklearn.svm import SVC
# 创建训练数据集
X_train = np.array([[1, 2], [2, 3], [3, 3], [2, 1], [3, 2]])
y_train = np.array([1, 1, 1, -1, -1])
# 创建支持向量机模型
svm SVC(kernel='linear', C=float('inf'))
# 拟合模型
svm.fit(X_train, y_train)
# 打印模型参数
print("权重向量:", svm.coef_)
print("截距:", svm.intercept_)
print("支持向量:", svm.support_vectors_)
# 预测新样本
X_test = np.array([[4, 4], [1, 1]])
y_pred = svm.predict(X_test)
print("预测结果:", y_pred)
```
在这个示例中,我们使用了`numpy`库来创建训练数据集`X_train`和对应的标签`y_train`。然后,我们使用`sklearn.svm.SVC`类创建了一个支持向量机模型,并指定了线性核函数和一个非常大的惩罚参数C(表示不允许有任何误分类)。接下来,我们使用`fit`方法拟合模型,并打印出模型的权重向量、截距和支持向量。最后,我们使用训练好的模型对新样本进行预测,并打印出预测结果。
阅读全文