基于一些研究和实验,我正在尝试为一些选择输入属性构建一个Keras回归量,我已经运行了特征选择来确定重要性。现在,损失是疯狂的,沿着损失线:70155460.5246 - mean_squared_error:70155460.5246。缩放输入矩阵会使我的精确度降低到.98,这仍然很高但是有点道理。缩放输出标签会将其降低到.20,但会有快速的向上和向下变化。在咨询此answer时,使用未缩放的输入/输出值更改损失函数会将损失降至2.0,但仍然相当高。缩放数据会有所作为吗?如果没有,我错过了什么? 数据输入:
mfcc.138 mfcc.139 rmse
7.4177908897 8.7774400711 -0.6439626217
8.4525270462 7.3344416618 0.0017812252
6.4304733276 6.186293602 1.766149044
7.0980010033 7.032245636 1.2389802933
7.7408356667 7.8073301315 0.2537946701
8.5029277802 9.0334596634 1.3996462822
7.3711028099 7.0261359215 0.0025191307
6.5391979218 6.5412449837 0.2165737152
7.1349864006 6.8030338287 2.1332325935
6.0559616089 5.9253249168 1.0415539742
6.9684019089 6.1278781891 0.5000677109
4.9130806923 4.7042975426 4.3300828934
数据标签:
track.14
----------
514
1151
50135
361
193
612
171
173
943
编辑:添加了复制代码
df=pd.read_csv("input.csv")
dataset=df.values
X=dataset[:,1:]
Y=dataset[:,0]
model = Sequential()
model.add(Dense(33, input_dim=33))
model.add(Dense(1))
model.compile(loss='mean_squared_logarithmic_error', optimizer='adam', metrics=['mse', 'mae', 'mape', 'cosine'])
history = model.fit(X, Y, epochs=100, batch_size=128, verbose=2)
这是2.0损失的最终代码,但仍然是200%的损失