Я использую набор данных из Kaggle - Сердечно-сосудистые заболевания Набор данных . Модель была обучена, и я хочу пометить один вход (строку из 13 значений), вставленный динамически c.
Форма набора данных - 13 объектов + 1 цель, 66 тыс. Строк
#prepare dataset for train and test
dfCardio = load_csv("cleanCardio.csv")
y = dfCardio['cardio']
x = dfCardio.drop('cardio',axis = 1, inplace=False)
model = knn = KNeighborsClassifier()
x_train,x_test, y_train, y_test = train_test_split(x,y,test_size=0.2,random_state=42)
model.fit(x_train, y_train)
# make predictions for test data
y_pred = model.predict(x_test)
predictions = [round(value) for value in y_pred]
# evaluate predictions
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))
ML обучен, и я хочу предсказать метку этой единственной строки:
['69','1','151','22','37','0','65','140','90','2','1','0','0','1']
, чтобы вернуть 0 или 1 для цели. Поэтому я написал следующий код:
import numpy as np
import pandas as pd
single = np.array(['69','1','151','22','37','0','65','140','90','2','1','0','0','1'])
singledf = pd.DataFrame(single)
final=singledf.transpose()
prediction = model.predict(final)
print(prediction)
, но он выдает ошибку: измерение данных запроса должно соответствовать измерению данных обучения
как я могу исправить маркировку для одной строки? почему я не могу предсказать ни одного случая?