这个答案可能对你关于is_unbalance的问题有帮助: Lightgbm中'is_unbalance'参数的使用
你不一定使用is_unbalance是错误的,但sample_pos_weight会更好地控制少数类和多数类的权重。
在这个链接中,有一个关于scale_pos_weight使用的好解释: https://stats.stackexchange.com/questions/243207/what-is-the-proper-usage-of-scale-pos-weight-in-xgboost-for-imbalanced-datasets
基本上,scale_pos_weight允许为少数类设置可配置的权重,作为目标变量。关于这个话题的一个好的讨论在这里 https://discuss.xgboost.ai/t/how-does-scale-pos-weight-affect-probabilities/1790/4。
关于SMOTE,我无法为您提供理论证明,但考虑到我的经验,在使用SMOTE来改善任何模型性能时,每次都失败了。