Keras, IndexError: indices are out-of-bounds

Keras, IndexError: indices are out-of-bounds

我正在尝试通过 Keras(Tensorflow 后端)实现这个简单的神经网络:

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 数组传递,但我仍然有同样的错误。

Keras 需要 numpy 数组而不是 pandas,因此您需要将输入的所有数据转换为 Keras API。而不仅仅是 y_trainy_test

所以:

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

或者

x_train = numpy.asarray(x_train)
y_train = numpy.asarray(y_train)
x_test = numpy.asarray(x_test)
y_test = numpy.asarray(y_test)