如何绘制决策边界?

如何使用matplotlib绘制决策边界?决策边界是形式为[w1,w2]的权重向量,它基本上将两个类别C1和C2分开?

是否可以简单地从点(0,0)绘制一条线到点(w1,w2)(因为W是权重“向量”)?如果是这样,如果我需要的话,如何在两个方向上扩展这条线?

目前我所做的只是:

 import matplotlib.pyplot as plt plt.plot([0,w1],[0,w2]) plt.show()

回答:

决策边界通常比单纯的一条线要复杂得多,因此(在二维情况下)最好使用通用的代码,这也适用于线性分类器。最简单的想法是绘制决策函数的等高线图

# X - 一些二维的np.array数据x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1xx, yy = np.meshgrid(np.arange(x_min, x_max, h),                     np.arange(y_min, y_max, h))# 这里的“model”是你的模型预测(分类)函数Z = model(np.c_[xx.ravel(), yy.ravel()]) # 将结果放入颜色图中Z = Z.reshape(xx.shape)plt.contourf(xx, yy, Z, cmap=pl.cm.Paired)plt.axis('off')# 也绘制训练点plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=pl.cm.Paired)

来自sklearn文档的一些示例

enter image description here

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注