【发布时间】:2018-09-16 19:32:20
【问题描述】:
即使经过多次调试,我仍然收到此错误,该数组似乎是一个二维数组:
reg = linear_model.SGDClassifier()
X = []
Y = []
with open('data/legitimate.txt', 'r', encoding='utf8') as f:
for line in f:
X.append(get_heuristics(line))
Y.append(0)
with open('data/bad.txt', 'r', encoding='utf8') as f:
for line in f:
X.append(get_heuristics(line))
Y.append(1)
X = np.array(X)
Y = np.array(Y)
reg.fit(X, Y)
get_heuristics() 返回一维数组。为什么会发生这种情况?谢谢
【问题讨论】:
-
数组
get_heuristics返回的大小是否不同? Numpy 只能处理子列表具有相同大小的数组。在另一种情况下,它将生成对数组的引用的一维数组,但这不相同。 (在 C# 中,这将是float[][]和float[,]之间的区别。, -
您没有列出错误、堆栈跟踪或行号,也没有包含“get_heuristics()”的代码
-
为
X显示shape和dtype。甚至可能是阵列的一部分。 Python 的一个好处是您可以交互地运行代码,并且显示值是一路走来的各个步骤。 -
@hpaulj
X.shape返回(4000,5)和Y.shape返回(4000,) -
这是 X imgur.com/a/ar3Yu 的输出,这是 Y imgur.com/a/Hi2Ff 的输出
标签: python arrays python-3.x numpy scipy