1 回答
TA貢獻2019條經(jīng)驗 獲得超9個贊
對于初學(xué)者:
您處于回歸設(shè)置中,其中準確性毫無意義(它僅用于分類問題)。從模型編譯中刪除,不要為此煩惱 - 您應(yīng)該使用與損失相同的數(shù)量(此處為MSE)來評估模型的性能。
metrics=['accuracy']出于同樣的原因(回歸問題),您不應(yīng)該對最后一個圖層使用激活,而應(yīng)該對最后一個圖層使用激活(離開,就像執(zhí)行該工作一樣,因為這是 Keras 圖層的默認激活)。
sigmoidlinearDense(1)linear具有線性激活的中間層(如您在這里的中間層)每個都只是一個單節(jié)點線性層(即幾乎沒有);向所有中間層添加激活(就像對第一層所做的那樣)。
relu
總而言之,這是實驗的起點:
model = tf.keras.Sequential()
model.add(layers.Dense(64, activation='relu', input_shape=(numInputColumns,)))
model.add(layers.Dense(128, activation='relu'))
model.add(layers.Dense(128, activation='relu'))
model.add(layers.Dense(128, activation='relu'))
model.add(layers.Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
當(dāng)你完成這一部分時,你最終會得出一個不幸的結(jié)論,即與分類問題相反,我們可以立即說準確性是否“好”,“不夠好”,“壞”等,回歸問題的性能指標,如MSE,不會讓自己進入如此簡單的評估;更糟糕的是,您的 MSE 是根據(jù)您縮放的數(shù)據(jù)計算的。閱讀我的答案 如何在Keras Regressor中解釋MSE 了解如何計算初始未縮放數(shù)據(jù)中的MSE,獲取其平方根,從而能夠以原始數(shù)據(jù)的單位進行比較,以查看它是否適合您的情況(ML教程中通常省略的一部分)...y
添加回答
舉報
