如何在matplotlib中绘制具有多个特征的sklearn SVM的超平面?
我有一个用scikit-learn库做的线性支持向量机(SVM)分类器,目的是把文本分成两类(-1和1)。这个分类器从训练数据中提取了250个特征来进行预测,效果还不错。
不过,我现在遇到一个问题,就是不知道怎么在matplotlib中画出超平面或者支持向量。网上的例子大多只用两个特征来画决策边界和支持向量点。我找不到可以处理超过两个特征或者没有固定特征的超平面和支持向量的例子。我知道这里面有一个基本的数学步骤我没有掌握,希望能得到一些帮助。
1 个回答
2
如果你的线性支持向量机(SVM)分类器效果不错,那就说明你的数据之间有一个超平面可以把它们分开。所以在二维空间里,你可以很清楚地看到这个决策边界。
要理解这个“怎么做”的过程,你需要关注一下支持向量本身,看看哪些支持向量对超平面的哪一侧有影响,比如通过把单个支持向量输入到训练好的分类器中来观察。一般来说,想要可视化文本算法并不是一件简单的事。