第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Keras - 如何預測兩個值而不是一個值?

Keras - 如何預測兩個值而不是一個值?

ITMISS 2022-06-02 10:38:47
我正在學習機器學習,我的數(shù)據(jù)集由 7 列組成:home_team, away_team, home_odds, away_odds, home_score, away_score, 1_if_home_wins_else_0為了能夠為團隊提供 Tensorflow,我將每個團隊都轉(zhuǎn)換為整數(shù),因此前兩列是整數(shù)(如數(shù)據(jù)庫 ID)csv 中有 10k 行。例子我修改了pima Indians 糖尿病的代碼來預測主隊的獲勝情況。所以現(xiàn)在它“預測”主隊是否贏(1)否則為0。現(xiàn)在我想修改算法來預測準確的分數(shù)home_score,away_score。我知道輸出是錯誤的,它只是在學習。代碼# load the datasetdataset = loadtxt('football_data.csv', delimiter=',')# split into input (X) and output (y) variablesX = dataset[:, 0:4]y = dataset[:, 6]# define the keras modelmodel = Sequential()model.add(Dense(12, input_dim=4, activation='relu'))model.add(Dense(8, activation='relu'))model.add(Dense(1, activation='sigmoid'))# compile the keras modelmodel.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])# fit the keras model on the datasetmodel.fit(X, y, epochs=150, batch_size=10)# evaluate the keras model_, accuracy = model.evaluate(X, y)print('Accuracy: %.2f' % (accuracy * 100))# make class predictions with the modelpredictions = model.predict_classes(X)# summarize the first 5 casesfor i in range(50):    print('%s => %d (expected %d)' % (X[i].tolist(), predictions[i], y[i]))你知道怎么做嗎?
查看完整描述

1 回答

?
www說

TA貢獻1775條經(jīng)驗 獲得超8個贊

由于您現(xiàn)在要預測分數(shù),即連續(xù)量(盡管是整數(shù)),因此這不再是分類問題,而是回歸問題。

為此,您需要對現(xiàn)有模型進行兩項更改;首先是修改你的最后一層

model.add(Dense(2)) # final layer

即 2 個節(jié)點(與所需的輸出一樣多),沒有任何激活(這意味著默認值linear,即我們用于回歸的那個)。

第二個修改應該在loss中:

model.compile(loss='mean_squared_error', optimizer='adam')

您當然需要相應地修改您的y數(shù)據(jù),以便每個包含 2 個元素,并使用model.predict而不是model.predict_classes(因為您現(xiàn)在沒有類)。

您要求的本質(zhì)上是多輸出回歸;另請參閱最近的線程:如何為單輸入和多輸出訓練回歸模型?- 使用功能性 Keras API 可能會更好,如那里所示并且已經(jīng)在評論中建議。


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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號