我的模型训练好,但产生了糟糕的MSE?

时间:2018-01-16 03:39:54

标签: python tensorflow machine-learning linear-regression

我的MSE号码非常糟糕,我不明白我做错了什么。我知道我不能通过训练判断,但我相信我的模型训练有素。

Optimization Finished!
MSE: 3593717153792.000000
Training Time: 81.99638080596924

我希望你能给我一个想法,在哪里看,也许该做什么? 这就是我的模型的样子:

# Parameters
learning_rate = 0.0001
training_epochs = 100
batch_size = 500
display_step = 1
# Network Parameters
n_hidden_1 = 480  # 1st layer number of features
n_hidden_2 = 240  # 2nd layer number of features
n_hidden_3 = 240  # 3rd layer number of features
n_hidden_4 = 256  # 4th layer number of features
n_out = 1
n_input = X_train.shape[1]
total_len = X_train.shape[0]

除了具有线性的输出层之外,所有层都具有RELU作为激活功能。

这是我的成本函数:

cost = tf.reduce_mean(tf.abs(tf.transpose(pred) - y) / y)

这是我的数据测试:

pred_y = sess.run(pred, feed_dict={x: X_test})
mse = tf.reduce_mean(tf.abs(tf.transpose(pred_y) - Y_test))
print("MSE: %4f" % sess.run(mse))

我的数据包含最多59个功能(90个中),并仅预测一个连续值。对于培训,我使用105566标准化数据样本。我的规范化是使用sklearn完成的:

    batch_x_norm = preprocessing.scale(batch_x)

我的验证集是13196个样本。 提前感谢您的帮助!

0 个答案:

没有答案