【问题标题】:Can I plot the SVM decision boundary for 3 features(in 3D space) using Scikit learn?我可以使用 Scikit learn 为 3 个特征(在 3D 空间中)绘制 SVM 决策边界吗?
【发布时间】:2015-07-07 06:04:19
【问题描述】:

我正在使用 scikit-learn 来理解支持向量机 (SVM)。我想绘制由 SVM 计算的决策边界。 SVM 使用 3 个特征。所以决策边界必须在 3D 空间中绘制。这可以使用 scikit-learn 吗? 我只能在官方网站上找到 SVM 决策边界的 2D 图。 但是我在 stackoverflow 上找到了链接,这些链接表明使用matlabr 是可能的。有没有一种方法可以使用 scikit-learn 实现相同的目标?

【问题讨论】:

  • 当你得到一个解决方案时,请记得给有用的东西投票并接受你最喜欢的答案(即使你必须自己写),这样 Stack Overflow 才能正确存档问题。跨度>

标签: plot 3d scikit-learn svm


【解决方案1】:

您不会使用 scikit-learn 在 Python 中进行绘图。您必须使用另一个包,如果您查看 scikit-learn 的示例,您会看到它们使用 matplotlib。您可以使用 matplotlib 创建 3D 图,here 是教程。用法与 2D 中基本相同,不同之处在于您为第三维添加了参数。

您可以使用的另一个流行包是mayavi,它是专为 3D 绘图而设计的。

【讨论】:

  • 是的,我接受对于 3D 绘图我必须使用 matplotlib。但是我的问题是我可以在使用 3 个功能时绘制 SVM 的决策边界吗?在所示示例中,它们显示了使用 2D 图(因为它们使用 2 个特征)来显示决策边界。我找不到他们使用 3 个功能并显示决策边界的示例。
  • 我不确定我是否理解您的问题。以这个例子(scikit-learn.org/stable/auto_examples/svm/plot_iris.html)为例。如果您有 3 个特征,您所要做的就是将 z 坐标添加到与 x 和 y 类似定义的网格网格中,并将其传递给您的 predict 方法和 contourf 方法。
  • 太棒了!这就是我想知道的;如何将 z 坐标添加到绘图中。我要试试。
猜你喜欢
  • 2018-12-20
  • 2014-07-10
  • 2016-07-13
  • 2021-07-30
  • 2018-12-19
  • 1970-01-01
  • 2015-08-06
  • 2017-10-09
  • 2017-04-24
相关资源
最近更新 更多