Python 如何在matplotlib中绘制具有2个以上特征的sklearn svm的超平面?

Python 如何在matplotlib中绘制具有2个以上特征的sklearn svm的超平面?,python,matplotlib,plot,Python,Matplotlib,Plot,我有一个scikits学习线性svm.SVC分类器,设计用于将文本分为2类(-1,1)。分类器使用训练集中的250个特征进行预测,效果相当不错 但是,我不知道如何在matplotlib中绘制超平面或支持向量。所有在线示例仅使用2个特征来推导决策边界和支持向量点。我似乎找不到任何绘制超平面或支持向量的方法,这些超平面或支持向量具有2个以上的特征或缺少固定特征。我知道我在这里遗漏了一个基本的数学步骤,我们将非常感谢您的帮助。如果您的线性SVM分类器工作得很好,那么这表明有一个超平面可以分离您的数据。

我有一个scikits学习线性svm.SVC分类器,设计用于将文本分为2类(-1,1)。分类器使用训练集中的250个特征进行预测,效果相当不错


但是,我不知道如何在matplotlib中绘制超平面或支持向量。所有在线示例仅使用2个特征来推导决策边界和支持向量点。我似乎找不到任何绘制超平面或支持向量的方法,这些超平面或支持向量具有2个以上的特征或缺少固定特征。我知道我在这里遗漏了一个基本的数学步骤,我们将非常感谢您的帮助。

如果您的线性SVM分类器工作得很好,那么这表明有一个超平面可以分离您的数据。因此,将有一个很好的二维几何表示的决策边界


要理解“如何”,您需要查看支持向量本身,查看哪些支持向量对超平面的哪一侧有贡献,例如,通过将单个支持向量输入到经过训练的分类器中。一般来说,可视化文本算法并不简单。

您可以尝试PCA或PCoA来降低特征空间的维数,这是有意义的,但这是分类器支持向量和决策边界的公平表示吗?演示这个分类器的“如何”几乎和它的结果一样重要。使用PCA降维是否是svm分类图的常见做法?我是否可以通过检查哪些向量最接近决策边界来使用决策函数(X)的输出来推断超平面?例如,如果我有两个决策函数输出为0.00040158和-0.0004701的支持向量,那么,我的类之间的边距是0.00087168吗?@user1882766是的,这正是我的建议。@user1882766请不要忘记投票支持这个答案,声誉很重要,所以:)