我正在尝试使用一些Scipy分类器来对数据集进行分类,如:
enable_if
所以我在做:
X = [
[2.2580403973917715e-06, 7.637149660560025e-07, 2.57156353293851e-07, 1.0411090477468541e-06, 2.966875927679557e-07, 2.8407977825637697e-08, 1.0829349857886486e-09, 6.361589208033874e-08],
[6.270357208864301e-10, 1.4976703048023198e-08, 1.6851513665698196e-08, 2.8145617066687096e-08, 1.2313171858773658e-07, 1.3792673608349409e-07, 4.78989580237296e-07, 4.7187858402735833e-07],
...
]
y = ['A', 'B', ...]
但这是抛出异常:
from sklearn.neighbors import KNeighborsClassifier
clf = KNeighborsClassifier()
clf.fit(X, y)
这是什么意思?此问题/错误之前已在此处发布,但我不明白为什么我的代码会触发此错误。我的X 是一个2D数组,而不是一维数组,所以我不明白我应该重塑什么。我的数据与the example here.
基本相同我做错了什么?
答案 0 :(得分:0)
问题是我的X阵列末尾的一行与其他行的大小不同,这破坏了sklearn&numpy将其转换为a的能力。 2D Numpy数组。这导致它转而将其转换为1D Numpy列表数组,从而导致错误。
我删除了坏行,这导致我的X数组转换为正确的2D Numpy数组。