一旦我们获得模型的系数,我无法理解决策边界是如何计算的。
我参考的链接是:http://scikit-learn.org/stable/auto_examples/svm/plot_svm_margin.html
这里是代码
# get the separating hyperplanew = clf.coef_[0]a = -w[0] / w[1]xx = np.linspace(-5, 5)yy = a * xx - (clf.intercept_[0]) / w[1]
我不理解a = -w[0] / w[1]
这一行。
为什么我们要用一个系数除以另一个系数?
回答:
分离超平面的形式是w[0]*x+w[1]*y+intercept=0
。所以
w[1]*y=-w[0]*x-intercept
现在将两边都除以w[1]
,你会得到
y=-(w[0]/w[1])*x-intercept/w[1]
。
这正是你代码中出现的方程。