【问题标题】:How can I use the test_proportion data in a machine learning model?如何在机器学习模型中使用 test_proportion 数据?
【发布时间】: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


    【解决方案1】:

    没有任何明智的方法。这样做会在模型中产生奇怪的偏差。你可以做的一件事是接受不太可能的结果,只有它有足够高的分数。通常你会使用 0.5 阈值,但在这里你可能会采用例如0.7.

    【讨论】:

    • @Ege 请注意,更新问题之后提供了一个有用的答案,使得这个答案无关紧要,这不是 SO 的工作方式。我建议您接受答案并使用新的详细信息打开一个新问题(如有必要,您可以随时在此处包含一个链接)。更重要的是,很明显,您现在获得的具体结果取决于特定的阈值选择,因此您可能需要做一些进一步的实验,并将结果包含在您的 new 问题中。包括术语“类不平衡”或“不平衡数据”,以及标签imbalanced-data
    猜你喜欢
    • 1970-01-01
    • 2018-05-17
    • 1970-01-01
    • 2020-09-29
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2015-11-18
    相关资源
    最近更新 更多