亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

KNN - 在 python 中預測單個案例

KNN - 在 python 中預測單個案例

慕田峪4524236 2022-08-02 10:40:53
我正在使用Kaggle - 心血管疾病數據集中的數據集。模型已經過訓練,我想做的是標記以動態方式插入的單個輸入(一行13個值)。數據集的形狀為 13 個特征 + 1 個目標,66k 行#prepare dataset for train and testdfCardio = 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 datay_pred = model.predict(x_test)predictions = [round(value) for value in y_pred]# evaluate predictionsaccuracy = 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 npimport pandas as pdsingle =  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)但它給出了錯誤:查詢數據維度必須與訓練數據維度匹配如何修復單行的標簽?為什么我無法預測單個病例?
查看完整描述

3 回答

?
弒天下

TA貢獻1818條經驗 獲得超8個贊

數據集中的每個實例都有 13 個要素和 1 個標注。

x = dfCardio.drop('cardio',axis = 1, inplace=False)

代碼中的這一行從數據中刪除了我假設的標簽列,只留下 (13) 個功能列。

您嘗試預測的特征向量的長度為 14 個元素。您只能預測長度為 13 個元素的特征向量,因為這是模型訓練的基礎。


查看完整回答
反對 回復 2022-08-02
?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

我不同意其他人的觀點,這不是包括目標的問題。
我也有這個問題。我繞過它的唯一方法是輸入.x

所以:

x2=x.iloc[0:3]

然后為第一行指定一個新值:

x2.iloc[0]=single 

ypred=model.predict(x2)

看看.ypred[0]

或者嘗試使用包含 2 個值的數據幀


查看完整回答
反對 回復 2022-08-02
?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

如果您正在尋找一個真實快速的解決方案,您可以使用它


import numpy as np

import pandas as pd

single =  np.array([['69','1','151','22','37','0','65','140','90','2','1','0','0']])

prediction = model.predict(single)

print(prediction)


查看完整回答
反對 回復 2022-08-02
  • 3 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號