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

1. Error:

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. Solution

Error code:

test_date, test_label = load_old('test')
    for i in range(len(test_date)):
        print(neigh.predict(test_date[i]))

Insert picture description here

Modified code: add a []

    for i in range(len(test_date)):
        if neigh.predict([test_date[i]]) == [test_label[i]]:
            print(test_label[i])

Reference blog

Guess you like

Origin blog.csdn.net/joey_ro/article/details/112724368