Keras模型可以预测数小时的体验

时间:2018-11-15 06:35:26

标签: python tensorflow keras

我对Keras,神经网络和机器学习非常陌生,昨天才开始学习。我决定尝试预测用户将获得的一个小时(0到23)(对于游戏和我自己生成的数据集)的体验。目前,我所预测的结果似乎很低而且很差。我尝试了relu激活,通过一些研究LeakyReLU得出的预测全为零。

这是我到目前为止用于预测模型的代码:

from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LeakyReLU
import numpy

numpy.random.seed(7)
dataset = numpy.loadtxt("experience.csv", delimiter=",")

X = dataset[: ,0]
Y = dataset[: ,1]

model = Sequential()
model.add(Dense(12, input_dim = 1, activation=LeakyReLU(0.3)))
model.add(Dense(8,  activation=LeakyReLU(0.3)))
model.add(Dense(1, activation=LeakyReLU(0.3)))

model.compile(loss = 'mean_absolute_error', optimizer='adam', metrics = ['accuracy'])

model.fit(X, Y, epochs=120, batch_size=10, verbose = 0)

predictions = model.predict(X)

rounded = [round(x[0]) for x in predictions]

print(rounded)

我也尝试过使用网络的隐藏层,但是老实说,我不知道应该有多少个或一个合理的方法来证明这个数额。

如果有帮助,这里是我一直在使用的数据集:

https://raw.githubusercontent.com/NightShadeII/xpPredictor/master/experience.csv

谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

查看您的数据似乎不是分类问题。 您有两种选择:

->查看第二列,并根据范围对它们进行存储,并创建可以预测的类,例如:0、1、2等。现在它尝试进行训练,但没有足够的示例来说明数百万个类它认为您正在尝试预测。

->如果要输出实值而不是类,请尝试使用线性回归。