【发布时间】:2020-08-16 21:16:35
【问题描述】:
我有一个包含 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 来确保结果吗?
【问题讨论】:
标签: python machine-learning classification random-forest train-test-split