关于为 KNN 分类器重塑数组大小的问题

数据挖掘 Python k-nn 分类器
2022-03-11 16:34:52

我一直尝试通过我的 KNN 分类器运行一组新数据,但会收到以下消息:

 ValueError: query data dimension must match training data dimension

然后它使用:

x_new = pd.read_csv('NewFeaturePractice.csv' , names = attributes)    
x_new = x_new.values.reshape(52,84) 

(这是训练数据的维度),但随后会收到:

ValueError: cannot reshape array of size 672 into shape (52,84)

第二个数据集的行数与第一个数据集的行数不同,这意味着即使我尝试重塑数组,我也会有几个空格。如何运行代码,以便无论我的新数据集大小如何,我仍然可以获得结果?

1个回答

似乎你犯了两个错误 -
重塑暗淡。与尺寸不匹配,即 10 != 3X3
Dim in train 和 test 不同。训练了 5 个功能并测试了 4 个功能。

我会建议 -
你会知道你的特征数量 - 假设N
然后使用 reshape(-1,N) 重塑。它将自动决定第一个暗淡。

x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
N=2
x.reshape(-1,N)