我有一个有4000个CNN特征的数据,它是一个二元分类问题,我只知道测试数据是1和0的比例。我怎么能告诉我的模型使用比例数据来预测测试标签呢? (比如有没有一种方法可以说为了达到这个比例,我将给这个实例0。)
我如何使用它来提高准确率 ? 在我的案例中,训练数据主要由1(85%)和0(15%)组成,但是在我的测试数据中,l的比例被给出为(%38),所以它与训练数据有很大不同。
我做了一点平衡数据的工作,它帮助了我。然而我的模型仍然预测了几乎所有数据的1。这可能也是因为适应问题而发生的。
按照@birdwatch的建议,我降低了0值的阈值,并尝试增加预测上的0标签数。
# Predicting the Test set results
y_pred = classifier.predict_proba(X_test)
threshold=0.3
y_pred [:,0] = (y_pred [:,0] < threshold).astype('int')
之前的类数如下。
1 : 8906
0 : 2968
改变阈值后,现在是
1 : 3221
0 : 8653
然而,有没有其他的方法,我可以使用test_proportions,以确保结果?
没有任何合理的方法。这样做会在模型中产生一个奇怪的偏差。你可以做的一件事是接受不太可能的结果,只有它有足够高的分数。通常你会使用0.5的阈值,但在这里你可以使用0.7。