写一段对支持向量机分类结果可视化的代码
时间: 2023-06-07 18:09:48 浏览: 44
以下是Python中用Matplotlib可视化SVM分类结果的示例代码:
```
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm, datasets
# 导入iris数据集
iris = datasets.load_iris()
X = iris.data[:, :2] # 选取前两个特征
y = iris.target
# 建立SVM模型并拟合数据
model = svm.SVC(kernel='linear', C=1)
model.fit(X, y)
# 给定网格密度并在范围内生成一些点
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.1), np.arange(y_min, y_max, 0.1))
# 对生成的点进行预测并绘制决策边界和分类结果
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, alpha=0.4)
plt.scatter(X[:, 0], X[:, 1], c=y, alpha=0.8)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.show()
```
这段代码会将iris数据集中的前两个特征作为输入数据,并用支持向量机模型将数据进行分类。然后,它会在X、Y轴上生成一些点,并根据模型对这些点进行预测,最后将决策边界绘制成一个轮廓图,并用散点图表示数据点的分类结果。此示例可以轻松地适用于其他数据集和不同的分类器。