I am working on shipment days delivery problem , where i want to predict shipment days (continuous variable target)
I have tries both Neural Network and Random Forest regressors ,i got very low error rate if i consider MAE or MSE but if i compare actual ship days and predicted ship days i get lot of differences in most of the values. What i am trying to do is that (actual ship days - predicted ship days)
should have 5 days as difference in most of the records , but i am getting huge differences in most of the samples
- training samples : 1.1 million records
- test samples : 0.9 million records
algo1 : random forest regressor (with default parameters)
algo2 : neural network
loss: 46.2513 - mae: 5.2729 - val_loss: 46.5231 - val_mae: 5.2836
my code:
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)
final goal : actual ship days and predict_ship_Days should have minimum difference for at least 80 % of records
suggest me some algorithm or techniques which i can implement