如何在机器学习模型中使用 test_proportion 数据?
How can I use the test_proportion data in a machine learning model?
我有一个包含 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.
我有一个包含 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.