绘制 SVC 决策区域

Posted

技术标签:

【中文标题】绘制 SVC 决策区域【英文标题】:Plotting SVC decision region 【发布时间】:2020-08-15 00:15:42 【问题描述】:

我正在使用 moon_dataset 跟踪书中的一些 SVC 代码。

代码如下:

import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn.datasets import make_moons
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import PolynomialFeatures

X, y = make_moons(n_samples=100, noise=0.15)

rbf_kernel_svm_clf = Pipeline([
        ("scaler", StandardScaler()),
        ("svm_clf", SVC(kernel="rbf", gamma=5, C=0.001))
        ])
rbf_kernel_svm_clf.fit(X, y)

我是否尝试过使用以下代码绘制这些 graphs 中的任何一个,但目前还没有。

plt.scatter(X, y)

有什么帮助吗?谢谢

【问题讨论】:

【参考方案1】:

您需要更多的东西来绘制决策区域,而不仅仅是散点图。一个非常有用的模块是MLxtend,它可以很容易地用plot_decision_regions 绘制拟合模型的决策区域。以下是使用示例完成它的方法:

from mlxtend.plotting import plot_decision_regions

plt.figure(figsize=(12,8))
plot_decision_regions(X, y, clf=rbf_kernel_svm_clf.named_steps['svm_clf'], legend=2)

【讨论】:

以上是关于绘制 SVC 决策区域的主要内容,如果未能解决你的问题,请参考以下文章

从线性 SVM 绘制 3D 决策边界

python 绘制新训练的感知器模型的决策区域,并可视化它分离不同样本的程度

使用 OneVsRestClassifier 时 sklearn.svm.SVC 的哪个决策函数形状?

SVC分类的对分类决策边界

如何在 sklearn Python 中绘制 SVM 决策边界?

SKLearn:从决策边界获取每个点的距离?