sklearn svm
时间: 2023-09-04 19:11:10 浏览: 102
Scikit-learn (sklearn)中的SVM(Support Vector Machine)是一种监督学习算法,用于二元分类和多元分类问题以及回归问题。
SVM的主要思想是找到一个最优的超平面(或者说决策边界),将不同类别的样本分开。超平面的选择是通过最大化间隔(Margin)来实现的。间隔是指超平面到支持向量(离超平面最近的点)的距离。因此,SVM也被称为最大间隔分类器。
在sklearn中,可以使用SVC(Support Vector Classifier)类实现SVM。通过设置不同的参数,可以进行不同类型的分类和回归,例如线性SVM、多项式SVM和径向基函数(RBF)SVM等。
以下是一个简单的示例代码,展示如何在sklearn中使用SVM进行二元分类:
```python
from sklearn import svm
from sklearn.datasets import make_blobs
# 生成随机数据
X, y = make_blobs(n_samples=100, centers=2, random_state=0)
# 创建SVM模型
clf = svm.SVC(kernel='linear', C=1)
# 训练模型
clf.fit(X, y)
# 预测新数据
new_data = [[0.5, 0.5], [-1, -1]]
print(clf.predict(new_data))
```
在上面的代码中,我们使用`make_blobs`函数生成了100个随机数据点,分为两个类别。然后,创建了一个线性SVM模型,并使用`fit`方法对模型进行训练。最后,使用`predict`方法对新数据进行分类预测,并输出预测结果。
阅读全文