Python Keras模型不工作(损失不减少且精度保持为零)

Python Keras模型不工作(损失不减少且精度保持为零),python,tensorflow,machine-learning,keras,neural-network,Python,Tensorflow,Machine Learning,Keras,Neural Network,我是Keras/Tensorflow的新手,我使用这些专有数据构建了这个模型,以估计给定的用户和商店之间的距离,商店向用户交付所需的时间 就这么简单: 距离(m)时间(min) 5823 | 20.59 5822 | 21.00 6728 | 26.41 6114 | 17.64 6728 | 24.18 1970年11月11日 我有5000对这样的关系,通过绘制它们,我可以看到: 我正试图建立一个模型来预测最大距离是多少,这样交货时间总是在10分钟以下 from keras.layers i

我是Keras/Tensorflow的新手,我使用这些专有数据构建了这个模型,以估计给定的用户和商店之间的距离,商店向用户交付所需的时间

就这么简单:

距离(m)时间(min)

5823 | 20.59

5822 | 21.00

6728 | 26.41

6114 | 17.64

6728 | 24.18

1970年11月11日

我有5000对这样的关系,通过绘制它们,我可以看到:

我正试图建立一个模型来预测最大距离是多少,这样交货时间总是在10分钟以下

from keras.layers import Dense
from keras.optimizers import SGD


model = Sequential()
model.add(Dense(4, activation = 'relu'))
model.add(Dense(4, activation = 'relu'))
model.add(Dense(4, activation = 'relu'))
model.add(Dense(1, activation = 'sigmoid'))

opt = SGD(lr=0.01)
model.compile(optimizer = opt, loss = 'mean_squared_error', metrics=["accuracy"])
model.fit(X_train, Y_train, epochs = 500)
当它训练时,它给了我以下信息:


发生了什么事?如何修复它?

您的数据存在大量差异。因此,即时的神经网络可能不是为数据建模的最佳方式。从数据科学的角度来看,在使用ML模型之前,您需要解决一些问题:

  • 您需要转换数据,以便总体方差较低。您可以尝试根据某些变换向数据添加另一个维度,然后应用NN

  • 您需要规范化数据,以便因变量和自变量共享相同的值范围(例如0到1)


  • 规范化数据意味着我将距离除以距离的最大值,并对时间进行同样的操作?这样一来,距离和时间都会有0到1的值,对吗?你会为1推荐什么。例如,记录值以减少差异?或者你认为还有其他更好的转换函数吗?