支持向量机实现成矿远景图绘制源代码
时间: 2023-11-24 12:08:15 浏览: 76
以下是一个使用支持向量机(SVM)实现成矿远景图绘制的示例代码:
```python
import numpy as np
import matplotlib.pyplot plt
from sklearn import svm
# 创建示例数据集
X = np.array([[1, 2], [2, 3], [3, 3], [2, 1], [3, 2]])
y = np.array([1, 1, 1, -1, -1])
# 创建SVM分类器对象
clf = svm.SVC(kernel='linear')
# 训练SVM模型
clf.fit(X, y)
# 绘制决策边界和支持向量
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)
ax = plt.gca()
xlim = ax.get_xlim()
ylim = ax.get_ylim()
# 创建网格来评估模型
xx = np.linspace(xlim[0], xlim[1], 30)
yy = np.linspace(ylim[0], ylim[1], 30)
YY, XX = np.meshgrid(yy, xx)
xy = np.vstack([XX.ravel(), YY.ravel()]).T
Z = clf.decision_function(xy).reshape(XX.shape)
# 绘制决策边界和支持向量
ax.contour(XX, YY, Z, colors='k', levels=[-1, 0, 1], alpha=0.5,
linestyles=['--', '-', '--'])
ax.scatter(clf.support_vectors_[:, 0], clf.support_vectors_[:, 1], s=100,
linewidth=1, facecolors='none', edgecolors='k')
plt.xlabel('x')
plt.ylabel('y')
plt.title('SVM Classifier')
plt.show()
```
这段代码使用了scikit-learn库中的SVM模型,创建了一个线性核函数的支持向量机分类器对象(`svm.SVC(kernel='linear')`)。然后,通过调用`fit`方法训练模型,并使用`decision_function`方法计算决策边界和支持向量。最后,使用Matplotlib库绘制了数据点、决策边界和支持向量的图形。
请注意,以上代码仅为示例,实际使用时需要根据具体数据进行调整和优化。
阅读全文