如何将数据输入Keras?具体是什么是x_train和y_train,如果我有超过2列?

pr3*_*338 6 neural-network keras data-science

如何将数据输入keras?结构是什么?具体是什么是x_train和y_train,如果我有超过2列?

这是我想输入的数据:

在此输入图像描述

我试图在这个例子中定义Xtrain,Keras在其文档中有多层感知器神经网络代码.(http://keras.io/examples/)这是代码:

from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD

model = Sequential()
model.add(Dense(64, input_dim=20, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(2, init='uniform'))
model.add(Activation('softmax'))

sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)

model.fit(X_train, y_train, nb_epoch=20, batch_size=16)
score = model.evaluate(X_test, y_test, batch_size=16)
Run Code Online (Sandbox Code Playgroud)

编辑(附加信息):

在这里:Python Keras深度学习包的数据类型是什么?

Keras使用包含theano.config.floatX浮点类​​型的numpy数组.这可以在.theanorc文件中配置.通常,对于CPU计算,它将是float64,对于GPU计算,它将是float32,但如果您愿意,也可以在处理CPU时将其设置为float32.您可以通过命令创建正确类型的零填充数组

X = numpy.zeros((4,3), dtype=theano.config.floatX)
Run Code Online (Sandbox Code Playgroud)

问题:步骤1看起来像使用excel文件中的上述数据创建一个浮点numpy数组.我如何处理获胜者专栏?

Ian*_*hen 12

这一切都取决于你的需要.

看起来你想根据A - N列中显示的参数来预测胜利者.然后你应该定义input_dim为14,并且 X_train应该是一个(N,14)numpy数组,如下所示:

[
   [9278,  37.9, ...],
   [18594, 36.3, ...],
   ...
]
Run Code Online (Sandbox Code Playgroud)

看来您的预测集只包含2个项目(2个总统候选LOL),因此您应该将答案编码为Y_train(N,2)numpy数组,如下所示:

[
   [1, 0],
   [1, 0],
   ...
   [0, 1],
   [0, 1],
   ...
]
Run Code Online (Sandbox Code Playgroud)

其中[1,0]表明巴拉克奥巴马是胜利者,反之亦然.

  • 嗯...让我们这样说:Y_train是每个条目对应X_train中的一个的答案.当您想要预测答案时,可以使用model.predict并将X_test提供给它. (2认同)
  • @ pr338是的,因为最后一层的激活是softmax,所以它可以被认为是概率. (2认同)