我正在处理发货天数交货问题,我想预测发货天数(连续变量目标)
我已经尝试过神经网络和随机森林回归器,如果我考虑 MAE 或 MSE,我的错误率非常低,但是如果我比较实际的船期和预测的船期,我会在大多数值上得到很多差异。我想做的是(actual ship days - predicted ship days)大多数记录应该有5天的差异,但是我在大多数样本中都得到了巨大的差异
- 训练样本:110 万条记录
- 测试样本:90万条记录
algo1:随机森林回归器(使用默认参数)
algo2:神经网络
loss: 46.2513 - mae: 5.2729 - val_loss: 46.5231 - val_mae: 5.2836
我的代码:
network = models.Sequential()
network.add(layers.Dense(128, activation='relu', input_shape=(23,)))
network.add(layers.Dropout(0.5))
network.add(layers.Dense(64, activation='relu'))
network.add(layers.Dropout(0.5))
network.add(layers.Dense(1,activation='linear'))
network.compile(loss='mean_squared_error', optimizer='adam', metrics=['mae'])
history = network.fit(X_train_scaled, train_ship_days,
validation_data=(X_test_scaled, test_ship_days),
epochs=50,
batch_size=128)
最终目标:实际发货天数和 predict_ship_Days 对于至少 80 % 的记录应该有最小差异
建议我一些我可以实现的算法或技术