我对matplotlib非常陌生,并且正在从事一些简单的项目以熟悉它。我想知道如何绘制决策边界,决策边界是[w1,w2]形式的权重向量,它使用matplotlib将两个类(例如C1和C2)基本分开。
如果是这样,是否像从(0,0)到点(w1,w2)画一条线一样简单(因为W是权重“向量”),如果需要,如何像在两个方向上一样进行扩展?
现在我要做的是:
import matplotlib.pyplot as plt plt.plot([0,w1],[0,w2]) plt.show()
提前致谢。
决策边界通常比仅一行要复杂得多,因此(在二维情况下)最好将代码用于一般情况,这也适用于线性分类器。最简单的想法是绘制决策函数的轮廓图
# X - some data in 2dimensional np.array x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1 y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1 xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h)) # here "model" is your model's prediction (classification) function Z = model(np.c_[xx.ravel(), yy.ravel()]) # Put the result into a color plot Z = Z.reshape(xx.shape) plt.contourf(xx, yy, Z, cmap=pl.cm.Paired) plt.axis('off') # Plot also the training points plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=pl.cm.Paired)
sklearn文档中的一些示例
sklearn