我对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
谢谢您的帮助
答案 0 :(得分:0)
查看您的数据似乎不是分类问题。 您有两种选择:
->查看第二列,并根据范围对它们进行存储,并创建可以预测的类,例如:0、1、2等。现在它尝试进行训练,但没有足够的示例来说明数百万个类它认为您正在尝试预测。
->如果要输出实值而不是类,请尝试使用线性回归。