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

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

CNN模型Keras中分類預測結果的巨大差異

CNN模型Keras中分類預測結果的巨大差異

慕娘9325324 2022-08-02 10:38:17
我用Keras訓練了一個模型,每個行都是一個帶有特征的樣本。然后,我使用預訓練模型進行預測。CNNdf921 rows x 10165 columns10160我確保訓練數據是平衡的,大約50%的樣本帶有標簽,其余50%的樣本帶有標簽。模型準確性看起來不錯,但在預測過程中存在問題。01因此,輸入數據如下所示:X = df.iloc[:,0:10160]  X = X.to_numpy()                      X = X.reshape([X.shape[0], X.shape[1],1]) X_train_1 = X[:,0:10080,:]X_train_2 = X[:,10080:10160,:].reshape(921,80)      Y = df.iloc[:,10163:10165]Y = Y.to_numpy()我用代碼預測了帶有預測標簽“1”(for)的樣本數量:label_1prediction = pd.DataFrame(model.predict([X_train_1,X_train_2])) prediction['label_1'] = ['0' if x < 0.5 else '1' for x in prediction['prob']]prediction[prediction['label_1'] == '1'].shape[0]/921第二行代碼計算所有樣本中樣本的比例。問題是,鑒于輸入數據具有平衡的數量和,我期望分數約為50%左右,但計算出的分數介于范圍?(如果不是更極端)之間,差異巨大??赡艹隽耸裁磫栴}?label_1 ==1100.080.98
查看完整描述

1 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

請改用。否則,您將獲得概率。model.predict_classes()


prediction = pd.DataFrame(model.predict_classes([X_train_1,X_train_2])) 

prediction[prediction['label_1'] == '1'].shape[0]/921

如果您使用的是功能性 API,請使用:np.argmax()


np.argmax(model.predict([X_train_1,X_train_2]), axis=1)

然后,您將需要預測所需的預測,如0和1而不是概率。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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