【发布时间】:2019-04-03 19:28:40
【问题描述】:
我正在研究一个不平衡的二元分类问题,数据有 97% 支持一个类。我正在使用朴素贝叶斯分类器,并且我将测试 cv 分数设为 1 。我也将 average_precision_score() 用作 1 。这个结果背后的直觉是什么,我怎样才能更好地分类这个问题。
【问题讨论】:
标签: python-3.x machine-learning scikit-learn classification precision-recall
我正在研究一个不平衡的二元分类问题,数据有 97% 支持一个类。我正在使用朴素贝叶斯分类器,并且我将测试 cv 分数设为 1 。我也将 average_precision_score() 用作 1 。这个结果背后的直觉是什么,我怎样才能更好地分类这个问题。
【问题讨论】:
标签: python-3.x machine-learning scikit-learn classification precision-recall
为了更好地分类问题,您需要处理类不平衡问题。尝试阅读有关如何处理此类不平衡的文章:
https://www.analyticsvidhya.com/blog/2017/03/imbalanced-classification-problem/
【讨论】:
您需要做的一般事情: 1. 考虑类别不平衡的 CV 方法(类似于 StratifiedKFold)。这样你就可以确保你的测试集中总是有次要类 2. 另一个指标(甚至可能是针对不同错误类型使用不同权重的自定义指标)。例如,看一下焦点损失 3.过采样/下采样技术(imblearn in Python)
进一步的步骤 4. 可视化(TSNE)。可以给你一些关于一般模式的想法 5. 特征重要性和基于重要特征的特征工程(可以使分类更容易) 5. 另一个模型(取决于(4)),boosting
【讨论】: