2017-01-24 21 views
3

私はKeras(Tensorflow beckend)によって、この単純なニューラルネットワークを実装しようとしている:Keras、はIndexError:インデックスが範囲外の

x_train = df_train[["Pclass", "Gender", "Age","SibSp", "Parch"]] 
y_train = df_train ["Survived"] 

x_test = df_test[["Pclass", "Gender", "Age","SibSp", "Parch"]] 
y_test = df_test["Survived"] 

y_train = y_train.values 
y_test = y_test.values 

をしかし、私はこの部分を実行すると:

model = Sequential() 
model.add(Dense(input_dim=5, output_dim=1)) 
model.add(Activation("softmax")) 

model.compile(loss='sparse_categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) 

model.fit(x_train, y_train) 

このエラーが発生します:IndexError:インデックスが範囲外です。私はそれがのmodel.fit(x_train、y_train)にあると仮定しています。私は.valuesでnumpy配列としてこれらを渡そうとしましたが、私はまだ同じエラーがあります。

答えて

2

あなたがKerasのAPIに供給されているすべてのデータを変換する必要があるので、Kerasだから

だけでなくy_trainy_test .. numpyの配列ではないパンダを期待:

x_train = x_train.values 
y_train = y_train.values 
x_test = x_test.values 
y_test = y_test.values 

または

+0

私は_.asarray_を使用していますが、このエラーが発生しました_ValueError:モデルターゲットをチェックしているときにエラーが発生しました:dense_2がshape(None、2)を持つと予想されましたが、 、1)_。以前は_.values_を使用しようとしましたが、同じタイプのエラーが発生しました – Simone

+0

as_matrixを試しましたか? (例:x_train.as_matrix()) –

+0

はい、同じエラーが発生します。今、私は "sparse_categorical_crossentropy"から "binary_crossentropy"にロス関数を変更した後、_.asarray_で動作します – Simone

関連する問題