1.错误:
Traceback (most recent call last):
File "/Users/yuanbao/PycharmProjects/EnsembleLearning/KNeighbors.py", line 16, in <module>
Knn()
File "/Users/yuanbao/PycharmProjects/EnsembleLearning/KNeighbors.py", line 13, in Knn
print(neigh.predict(test_date[i]))
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sklearn/neighbors/_classification.py", line 173, in predict
X = check_array(X, accept_sparse='csr')
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sklearn/utils/validation.py", line 72, in inner_f
return f(**kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sklearn/utils/validation.py", line 619, in check_array
raise ValueError(
ValueError: Expected 2D array, got 1D array instead:
array=[0.61960784 0.62352941 0.64705882 ... 0.48627451 0.50588235 0.43137255].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
2.解决办法
出错代码:
test_date, test_label = load_old('test')
for i in range(len(test_date)):
print(neigh.predict(test_date[i]))
修改后代码:添加一个[]
for i in range(len(test_date)):
if neigh.predict([test_date[i]]) == [test_label[i]]:
print(test_label[i])