7

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

这是我要输入的数据:

在此处输入图像描述

我试图在 Keras 在其文档中包含的多层感知器神经网络代码示例中定义 Xtrain。( 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)

编辑(附加信息):

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

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

X = numpy.zeros((4,3), dtype=theano.config.floatX)

问题:第 1 步看起来像使用我上面来自 excel 文件的数据创建一个浮点 numpy 数组。我如何处理获胜者列?

4

1 回答 1

13

这一切都取决于您的需要。

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

[
   [9278,  37.9, ...],
   [18594, 36.3, ...],
   ...
]

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

[
   [1, 0],
   [1, 0],
   ...
   [0, 1],
   [0, 1],
   ...
]

其中[1,0]表示巴拉克奥巴马是赢家,反之亦然。

于 2016-01-02T21:04:31.730 回答