如何将数据输入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)
编辑(附加信息):
在此处查看:What is data type for Python Keras deep learning package?
Keras使用包含theano.config.floatX浮点类型的numpy数组。这可以在.theanorc文件中配置。通常,对于CPU计算,它将是float64,对于GPU计算,它将是float32,但如果您愿意,也可以在处理CPU时将其设置为float32。您可以通过命令
创建正确类型的零填充数组
X = numpy.zeros((4,3), dtype=theano.config.floatX)
问题:步骤1看起来像使用excel文件中的上述数据创建一个浮点numpy数组。我如何处理获胜者专栏?
答案 0 :(得分:11)
这一切都取决于你的需要。
您希望根据A - N列中显示的参数预测获胜者。然后您应将input_dim
定义为14,X_train
应为(N,14) )像这样的numpy数组:
[
[9278, 37.9, ...],
[18594, 36.3, ...],
...
]
您的预测集似乎只包含2个项目(2个总统候选人LOL),因此您应该在(N,2)numpy数组中对答案Y_train
进行编码,如下所示:
[
[1, 0],
[1, 0],
...
[0, 1],
[0, 1],
...
]
其中[1,0]
表示巴拉克奥巴马是胜利者,反之亦然。