Open VinaTsai opened 4 years ago
https://xgboost.readthedocs.io/en/latest/parameter.html https://github.com/dmlc/xgboost/issues/799
当使用重采样方法(例如从 y=0 获得的数据多于从 y=1 获得的数据)时,我们在训练过程向分类器显示了两个类的错误比例。以这种方式学得的分类器在未来实际测试数据上得到的准确率甚至比在未改变数据集上训练的分类器准确率还低。实际上,类的真实比例对于分类新的点非常重要,而这一信息在重新采样数据集时被丢失了。
因此,即使不完全拒绝这些方法,我们也应当谨慎使用它们:有目的地选择新的比例可以导出一些相关的方法(下节将会讲),但如果没有进一步考虑问题的实质而只是将类进行重新平衡,那么这个过程可能毫无意义。总结来讲,当我们采用重采样的方法修改数据集时,我们正在改变事实,因此需要小心并记住这对分类器输出结果意味着什么。
顾名思义,添加新特征,增加区分度。
原目标函数:假设两类错误 False Positive & False Negative 的cost 一致,只考虑准确率。但有些时候,False Negative的成本 >> False Positive。因此,真实案例中的两类错误cost是不一致的。
eg.
这篇文章的核心思想是:
- 当我们使用机器学习算法时,必须谨慎选择模型的评估指标:我们必须使用那些能够帮助更好了解模型在实现目标方面的表现的指标;
- 在处理不平衡数据集时,如果类与给定变量不能很好地分离,且我们的目标是获得最佳准确率,那么得到的分类器可能只是预测结果为多数类的朴素分类器;
- 可以使用重采样方法,但必须仔细考虑:这不应该作为独立的解决方案使用,而是必须与问题相结合以实现特定的目标;
- 重新处理问题本身通常是解决不平衡类问题的最佳方法:分类器和决策规则必须根据目标进行设置。
https://www.kaggle.com/janiobachmann/credit-fraud-dealing-with-imbalanced-datasets
https://zhuanlan.zhihu.com/p/28967965
max_delta_step
https://xgboost.readthedocs.io/en/latest/tutorials/param_tuning.html https://xgboost.readthedocs.io/en/latest/parameter.html