如何解释我的神经网络高精度,但低概率的结果

2024-04-19 16:46:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我用keras构建了一个经典的ANN,它提供了结果(0或1)的概率(使用sigmoid函数)。当模型拟合到90%时,模型的精度很高,但测试集结果的概率很低。我怎么解释这个?你知道吗

建安

classifier = Sequential()
classifier.add(Dense(activation="relu",input_dim=7,kernel_initializer="uniform", units = 4))
classifier.add(Dense(activation="relu",kernel_initializer="uniform", units = 4))
classifier.add(Dense(activation="sigmoid", kernel_initializer="uniform", units = 1))
classifier.compile(optimizer="adam", loss="binary_crossentropy",metrics=['accuracy'])
classifier.fit(X_train,y_train, batch_size=10,epochs=100)

预测结果:

y_pred = classifier.predict(X_test)

我附上了测试集的结果,在那里可以看到结果的概率。 Test Set Plot 我眼前的问题是:

  1. 我使用了标准的定标器来预处理数据。在我了解结果之前,我是否需要取消y\ U pred的缩放比例?你知道吗
  2. 考虑到模型的高精度,为什么我会在图表上看到分布概率,这最终使它变得毫无用处。如何进一步调整 谢谢!你知道吗

Tags: 模型addtrainuniform概率activationkernelkeras