回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在使用来自Kaggle-心血管疾病<a href="https://www.kaggle.com/camiloqq/nn-to-predict-cardiovascular-diseases/#data" rel="nofollow noreferrer">Dataset</a>的数据集。
模型已经过训练,我想做的是标记单个输入(一行13个值)
以动态方式插入</p>
<p>数据集的形状为13个特征+1个目标,66k行</p>
<pre><code>#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))
</code></pre>
<p>ML经过训练,我想做的是预测这一行的标签:</p>
<pre><code>['69','1','151','22','37','0','65','140','90','2','1','0','0','1']
</code></pre>
<p>为目标返回0或1。
所以我写了这段代码:</p>
<pre><code>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)
</code></pre>
<p>但它给出了错误:<strong>查询数据维度必须与训练数据维度匹配</strong></p>
<p>如何修复单行的标签?为什么我不能预测一个病例</p>