如何用matplotlib绘制感知机中的分类图片
问题:最近在学习感知机模型,想绘制如下图片,但是发现下图中的 '+' '-' 号没有办法绘制出来?
从其他地方获得的绘制图片代码,其中Perceptron是在另一个地方实现的类
# linear separable data
X = np.random.uniform(0.0, 10.0, (data_size, 2))
Y = np.sign(X[:, 0] + X[:, 1] - 10)
ax1 = plt.subplot(121)
ax1.plot([0, 10], [10, 0], label='real boundary')
X_train, Y_train, X_test, Y_test = X[:train_size, :], Y[:train_size], X[train_size:, :], Y[train_size:]
plot_data(X, Y, train_size)
# model training and test
p = Perceptron()
p.train_dual(X_train, Y_train, X_test, Y_test)
plt.plot([0, -p.b / p.w[0]], [-p.b / p.w[1], 0])
Y_pred = p.predict(X_test)
accurary = p.get_accuracy(Y_pred, Y_test)
scale = -10/p.b
print p.w * scale, p.b * scale
print 'Predict Accurary: %f' % accurary
# test accuracy during training process
ax2 = plt.subplot(122)
if len(p.acc_list):
ax2.plot(range(len(p.acc_list)), p.acc_list)
ax2.set_title('Num of epoch: %d' % p.iter)
plt.show()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论