当前位置:   article > 正文

【机器学习】【支持向量机】Python使用Sklearn实战支持向量机模型与决策边界可视化_支持向量机的python三维空间可视化

支持向量机的python三维空间可视化

 API文档sklearn.svm.SVC-scikit-learn中文社区

  1. import numpy as np
  2. import os
  3. # %matplotlib inline
  4. import matplotlib
  5. import matplotlib.pyplot as plt
  6. plt.rcParams['axes.labelsize'] = 14
  7. plt.rcParams['xtick.labelsize'] = 12
  8. plt.rcParams['ytick.labelsize'] = 12
  9. import warnings
  10. warnings.filterwarnings('ignore')
  11. '''导入库与数据集(鸢尾花数据集)'''
  12. from sklearn.svm import SVC
  13. from sklearn import datasets
  14. iris = datasets.load_iris()
  15. X = iris["data"][:, (2, 3)] ##选择全部样本 仅选择两个特征是便于展示。
  16. y = iris["target"]
  17. ###为了演示方便,将三分类问题转化为二分类问题便于决策边界的展示
  18. setosa_or_versicolor = (y == 0) | (y == 1) ##获得y为1与0值的索引值
  19. X = X[setosa_or_versicolor]
  20. y = y[setosa_or_versicolor]
  21. svm_clf = SVC(kernel="linear", C=1e12)
  22. ##使用线性核函数举例 先不管C值参数(控制过拟合)
  23. svm_clf.fit(X, y)
  24. '''绘制支持向量机决策边界'''
  25. def plot_decision_boundary(svm_clf, xmin, xmax, sv=True):
  26. w = svm_clf.coef_[0] # 权重参数 得到的为二维数据
  27. b = svm_clf.intercept_[0] # 偏置参数
  28. x0 = np.linspace(xmin, xmax, 200)
  29. decision_boundary = -w[0] / w[1] * x0 - b / w[1] ##此处是求解x1 需要根据求解公式解出
  30. margin = 1 / w[1]
  31. gutter_up = decision_boundary + margin ##边界上
  32. gutter_down = decision_boundary - margin # 边界下
  33. if sv:
  34. svs = svm_clf.support_vectors_ ##得到支持向量 点数据
  35. plt.scatter(svs[:, 0], svs[:, 1], s=180, facecolors="#FFAAAA")
  36. plt.plot(x0, decision_boundary, 'k-', linewidth=2)
  37. plt.plot(x0, gutter_up, 'k--', linewidth=2)
  38. plt.plot(x0, gutter_down, 'k--', linewidth=2)
  39. '''绘制SVM决策边界'''
  40. plt.figure(figsize=(7, 4))
  41. plot_decision_boundary(svm_clf, 0, 5.5, sv=True)
  42. ###绘制数据点
  43. plt.plot(X[:, 0][y == 1], X[:, 1][y == 1], 'bs')
  44. plt.plot(X[:, 0][y == 0], X[:, 1][y == 0], 'ys')
  45. plt.axis([0, 5.5, 0, 2])
  46. plt.show()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/177284?site
推荐阅读
相关标签
  

闽ICP备14008679号