我试图预测价格的特点。 我选择了一个非常简单的模型,但它很奇怪。损失函数非常高,我看不出问题在哪里。Keras极高的损失
这里是我的模型:
这就是我准备的资料:(一热,我分裂的所有数据进行训练和测试)
df = encode_onehot(dataframe, cols=['Shape', 'Cut', 'Color', 'Clarity', 'Polish', 'Symmetry', 'Culet', '\tFluorescence'])
dataset = df.values
X = dataset[1:,4:66]
Y = dataset[1:,2]
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.25, random_state=42)
最后,培训:
baseline_model().fit(X_train, y_train, epochs=10, batch_size=64)
scores = baseline_model().evaluate(X_test, y_test, verbose=0)
print(baseline_model().summary())
而且结果非常伤心:
Epoch 1/10
149767/149767 [==============================] - 4s - loss: 104759338.0333
Epoch 2/10
149767/149767 [==============================] - 4s - loss: 104594236.9627
Epoch 3/10
149767/149767 [==============================] - 4s - loss: 104556662.2948
它并没有变好。
我在做什么错?
你的输入和输出数据是什么样的? X热值是否被编码为不同的整数或矢量?是一个热点编码或不是?从 – gionni
这个问题不清楚'y_train'的范围是什么?它是否包含大于10000的值?如果'y_train'包含一些较大的值,因为您使用的是平均值**平方**错误,所以看到高损失并不奇怪。除非你的模型非常强大或者你有很强的特征,'y_true - y_pred'的平方可以非常大。 –
@gionni X一个热值编码为矢量。 Y不是热编码的(因为它只是'价格') –