【问题标题】:Metrics to consider for heavily imbalanced dataset严重不平衡数据集要考虑的指标
【发布时间】:2018-07-02 06:03:33
【问题描述】:

我正在尝试根据 Python 中严重不平衡的数据训练 GradientBoosting 模型。类分布类似于0.96 : 0.04,分别用于0类和1类。

在考虑了recallprecision 的分数后,我想出了一个很好的模型。验证集的不同指标分数如下所示。此外,它接近交叉验证分数。

recall : 0.928777 precision : 0.974747 auc : 0.9636 kappa : 0.948455 f1 weighted : 0.994728

如果我想进一步调整模型,我应该考虑增加哪些指标。?在我的问题中,将 1 错误分类为 0 比将 0 错误预测为 1 更成问题。

【问题讨论】:

  • 请告诉我投反对票的原因

标签: python machine-learning classification metrics


【解决方案1】:

在处理类不平衡问题时,可以使用多种技术。如下所述:

(链接包括蟒蛇imblearnpackagecostclapackage

  1. 重采样:

  2. 集成技术:

  3. Cost-sensitive Learning:既然你提到了,你一定要探索这个:

在我的问题中,将 1 错误分类为 0 比将 0 错误预测为 1 更成问题。

在使用costcla 包的成本敏感学习中,您应该尝试following 方法,将您的基分类器保持为 GradientBoostingRegressor:

costcla.sampling.cost_sampling(X, y, cost_mat, method='RejectionSampling', oversampling_norm=0.1, max_wc=97.5)

您可以在此处为训练和测试中的每个数据点加载 cost_mat[C_FP,C_FN,C_TP,C_TN]。 C_FP 和 C_FN 基于您要为正类和负类设置的误分类成本。参考信用评分数据完整教程here

【讨论】:

  • 成本矩阵是如何计算的?我应该自己手动计算吗?
  • 理想情况下,您可以将成本作为权重的反比:0.96:0.04。错误分类 0 的成本远低于 1。稍后您可以根据模型结果进行微调。
  • 知道了。谢谢:)
猜你喜欢
  • 2019-03-09
  • 1970-01-01
  • 2015-10-22
  • 2021-01-14
  • 2021-01-16
  • 1970-01-01
  • 2017-11-01
  • 2018-09-12
  • 1970-01-01
相关资源
最近更新 更多