python svm多特征绘图
时间: 2023-09-13 12:02:48 浏览: 96
svm多分类+python
好的,您可以使用Python中的matplotlib库来绘制SVM多特征图。下面是一个简单的例子:
```
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn import svm
# 加载数据并仅选择两个特征
iris = datasets.load_iris()
X = iris.data[:, :2]
y = iris.target
# 定义SVM分类器
clf = svm.SVC(kernel='linear', C=1.0)
# 拟合数据
clf.fit(X, y)
# 绘制训练集上的决策边界
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.coolwarm)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.xlim(X[:, 0].min(), X[:, 0].max())
plt.ylim(X[:, 1].min(), X[:, 1].max())
plt.xticks(())
plt.yticks(())
# 生成一个网格来绘制决策边界
xx, yy = np.meshgrid(np.linspace(X[:, 0].min(), X[:, 0].max(), 100),
np.linspace(X[:, 1].min(), X[:, 1].max(), 100))
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contour(xx, yy, Z, colors='k', levels=[-1, 0, 1], alpha=0.5,
linestyles=['--', '-', '--'])
plt.show()
```
这是一个使用 sklearn 库中的 SVM 实现的示例,基于鸢尾花数据集中的前两个特征进行训练,然后生成多维网格并绘制决策边界。在您的代码中,您可以将 SVC 中的内核设置为您需要的内核类型,并使用您自己的数据进行拟合。
阅读全文