python - Google Colab 中的单感知器逻辑门问题
问题描述
我正在尝试使用单个感知器创建一些简单的逻辑门,例如 AND、OR 等。当我使用以下代码在 Google Colab 上创建 AND 门时:
from sklearn.linear_model import Perceptron
import matplotlib.pyplot as plt
import numpy as np
from itertools import product
# AND logic gate data and labels
data=[[0, 0], [0, 1], [1, 0], [1, 1]]
labels=[0, 0, 0, 1]
classifier=Perceptron(max_iter=40)
classifier.fit(data, labels)
print(classifier.score(data, labels))
x_values=np.linspace(0, 1, 100)
y_values=np.linspace(0, 1, 100)
point_grid=list(product(x_values, y_values))
distances=classifier.decision_function(point_grid)
abs_distances=[abs(pt) for pt in distances]
distances_matrix=np.reshape(abs_distances, (100, 100))
heatmap=plt.pcolormesh(x_values, y_values, distances_matrix)
plt.colorbar(heatmap)
plt.show()
这是输出:Google Colab 中的输出
图片显示了决策边界,但它是与门的错误决策边界。
如果我在另一个 juptyer 笔记本(如 Kaggle)中使用相同的代码,则决策边界是正确的,如下所示:Output in Kaggle。
我的代码有问题吗?或者只是 Google Colab 的问题?
解决方案
推荐阅读
- gitlab - Gitlab - 如何根据作业管道添加徽章
- java - 为什么在 LiveData 列表中更改值时不调用 onChanged?
- javascript - 使用类上的js而不是输入id加载页面时自动聚焦在字段上
- c# - Web Api 返回空响应
- logging - 提升日志记录:如何在过滤器中应用 use_tss_with_cache?
- openstreetmap - 立交桥:巴士路线的巴士站
- sql - Teradata 中的行大小限制
- vba - 无法使用 vba 从 selenium 的下拉列表中进行选择
- ruby - Ruby中公共类方法的私有类方法
- html - 如何在 Windows 10 中更改 Chrome 应用程序标题栏颜色