python中错误Reshape your data either using array.reshape(-1, 1)

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])

参考博客

猜你喜欢

转载自blog.csdn.net/joey_ro/article/details/112724368
今日推荐