2015-12-24 20 views
4

如何將數據輸入keras?什麼是結構?具體來說,如果我有2列以上,x_train和y_train是什麼?如何將數據輸入Keras?具體來說,如果我有2列以上,x_train和y_train是什麼?

這是我想輸入的數據:我想在這個例子中多層感知神經網絡代碼Keras有其文檔中定義Xtrain

enter image description here

。 (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) 

EDIT(附加信息):

尋找這裏: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的陣列。我如何處理勝利者專欄?

回答

10

這一切都取決於你的需要。

看起來要預測基於在列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]表明巴拉克奧巴馬是贏家,反之亦然。

+0

y是訓練預測集嗎? – pr338

+2

mmm ...讓我們這樣說:Y_train是其中每個條目對應於X_train中的一個條目的答案。當你想預測答案時,你使用model.predict並將X_test提供給它。 –

+0

還有一個問題 - 我試過model.predict(X_predict,batch_size = 128,verbose = 1),我得到像數組([0.96624053,0.03375945])的答案。這是否意味着它最有可能[1,0],概率爲〜96%? – pr338

相關問題