SVM代码
时间: 2023-07-02 13:13:06 浏览: 45
以下是一个使用SVM进行分类的Python代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm
# 生成随机数据
np.random.seed(42)
X = np.random.randn(200, 2)
y = np.logical_xor(X[:, 0] > 0, X[:, 1] > 0)
# 定义SVM模型并训练
clf = svm.SVC(kernel='linear')
clf.fit(X, y)
# 可视化决策边界
xmin, xmax = X[:, 0].min() - 1, X[:, 0].max() + 1
ymin, ymax = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(xmin, xmax, 0.1),
np.arange(ymin, ymax, 0.1))
Z = clf.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.title("SVM classification")
plt.show()
```
这段代码生成一个包含200个点的随机数据集,并使用SVM模型进行分类。然后,使用matplotlib库可视化决策边界和数据点。这个例子中只有两个特征,因此可以在二维平面上进行可视化。如果有更多的特征,可以考虑使用降维技术,如PCA或t-SNE。