我在使用 keras 时遇到问题sequential().predict(x_test)。顺便说一句,使用sequential().predict_proba(x_test)我发现这两个现在在顺序上是无所谓的。我的数据有两个类:0 或 1,我相信predict(x_test)应该给出两列,其中第一列是获得 0 的概率,第二列是获得 1 的概率。但是我只有一列。 In [85]:y_train.value_counts() Out[85]: 0 616751 1 11140 Name: _merge, dtype: int64我的数据应该没有问题,因为我对 LogisticRegression 模型和神经网络模型都使用了相同的 x_train、y_train、x_test、y_test,它在 LogisticRegression 中完美运行。In [87]:y_pred_LROut[87]: array([[ 9.96117151e-01, 3.88284921e-03], [ 9.99767583e-01, 2.32417329e-04], [ 9.87375774e-01, 1.26242258e-02], ..., [ 9.72159138e-01, 2.78408623e-02], [ 9.97232916e-01, 2.76708432e-03], [ 9.98146985e-01, 1.85301489e-03]])但我在神经网络模型中只得到 1 列。所以我猜神经网络模型设置有问题?这是我的代码NN = Sequential()NN.add(Dense(40, input_dim = 65, kernel_initializer = 'uniform', activation = 'relu'))NN.add(Dense(20, kernel_initializer = 'uniform', activation = 'relu'))NN.add(Dense(1, kernel_initializer = 'uniform', activation = 'sigmoid'))NN.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])NN.fit(x_train, y_train, batch_size = 50, epochs=5)y_pred_NN = NN.predict(x_test)print(y_pred_NN) In [86]: print(y_pred_NN) [[ 0.00157279] [ 0.0010451 ] [ 0.03178826] ..., [ 0.01030775] [ 0.00584918] [ 0.00186538]]实际上它看起来像是获得1的概率?任何帮助表示赞赏!顺便说一句,我在两个模型中的预测形状如下In [91]:y_pred_LR.shapeOut[91]: (300000, 2)In [90]:y_pred_NN.shapeOut[90]: (300000, 1)
添加回答
举报
0/150
提交
取消