Как объявить массив в Python?
Здравствуйте, я пытался отформатировать список для моего алгоритма прогнозирования. Однако, когда я пытаюсь предсказать, я получаю ошибку:
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.
Итак, когда я пытаюсь изменить форму массива с помощью .reshape (1, -1) [Как мне говорит ошибка], я получаю, что у объекта 'list' нет атрибута 'reshape', Тем не менее, согласно этому посту, мой список является массивом, и должен быть в состоянии сделать это.
Кроме того, я попытался использовать numpy, чтобы сделать его массивом (или транспонировать его). Я получил ошибку: ValueError: setting an array element with a sequence.
Мой код такой:
for i in range(len(best.indi)):
data.append(best.features[best.indi[i]])
for i in data:
try:
value = i[-1:]
prediction_data.append(value[0])
except:
prediction_data.append(i)
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split as tts
import numpy as np
knn = KNeighborsClassifier(n_neighbors=best.neighbors)
knn.fit(np.transpose(data), best.y)
prediction = knn.predict(np.transpose(prediction_data))
print(prediction)
Функция try просматривает данные (которые представляют собой комбинацию из 1 повторяющихся списков и чисел) и создает список, представляющий собой только набор чисел.
https://repl.it/@JacksonEnnis/KNN-Final
Итак, повторимся, как вы преобразуете данные в формат, который Scikit распознает для прогнозов?