回归精度

时间:2019-05-23 11:15:55

标签: python tensorflow keras regression keras-layer

我正在尝试将分子活性预测作为喀拉拉邦的回归模型。

x_train.size=6252312
x_train.shape=(1452, 4306)
y_train.shape=(1452, 1)
y_train.size=1452

model = Sequential()
model.add(Dense(100, activation = "relu",  input_shape=(4306,)))
model.add(Dense(50, activation = "relu"))
model.add(Dropout(0.25))
model.add(Dense(25, activation = "relu"))
model.add(Dropout(0.25))
model.add(Dense(1))
 model.compile(
optimizer="adam",
loss="mse",
)
model.summary()
# Train the model
model.fit(
 x_train,
 y_train,
 batch_size=500,
 epochs=900,
 validation_data=(x_test, y_test),
 shuffle=True
)

我运行了这两次或三遍,相同的代码,但是它显示了不同的r2精度-为什么它显示了不同的精度

 1452/1452 [==============================] - 0s 218us/step - loss: 0.5770 - val_loss: 0.1259 
R2-score: 0.47 
    1452/1452 [==============================] - 1s 411us/step - loss: 0.5882 - val_loss: 0.1281 
R2-score: 0.48
    1452/1452 [==============================] - 0s 332us/step - loss: 0.4917 - val_loss: 0.1154 
R2-score: 0.52

如何获得训练准确度。训练模型仅显示损失和val_loss

而且,关于如何提高模型准确性的任何建议

谢谢

2 个答案:

答案 0 :(得分:2)

精度对于回归问题没有意义,它是仅对分类有效的度量。您已经在使用R2评分,该评分的行为与准确性类似,但是存在回归问题。您还可以使用平均绝对误差(mae)。

答案 1 :(得分:1)

model.compile( optimizer="adam", loss="mse", metrics=['here you add your metrics'])

可以找到足够的回归指标here。以下是喀拉拉邦提供的那些物品的列表:

  • 均方误差:mean_squared_error,MSE或MSE
  • 平均绝对错误:mean_absolute_error,MAE,mae
  • 平均绝对百分比错误:mean_absolute_percentage_error,MAPE,地图
  • 余弦接近度:cosine_proximity,余弦

您也可以拥有自己的自定义指标。