LightGBMとXGBoostはscale_pos_weightを使用して、不均衡なデータソースコード分析を処理します



Lightgbm Xgboost Use Scale_pos_weight Deal With Unbalanced Data Source Code Analysis



lightGBMとXGBoostの両方が提供しますscale_pos_weight正のサンプルと負のサンプルの間の不均衡に対処するためのパラメーター。
sclです_pまたはs_ですght=種類この/ポジティブ種類この s c a l e _ p o s _ w e i g h t =この数の負の種類/この数の正の種類

ソース



for (omp_ulong i = 0 i 8) { avx::Float8 y(&info.labels_[i]) avx::Float8 p = Loss::PredTransform(avx::Float8(&preds_h[i])) avx::Float8 w = info.weights_.empty() ? avx::Float8(1.0f) : avx::Float8(&info.weights_[i]) // Adjust weight w += y * (scale * w - w) avx::Float8 grad = Loss::FirstOrderGradient(p, y) avx::Float8 hess = Loss::SecondOrderGradient(p, y) avx::StoreGpair(gpair_ptr + i, grad * w, hess * w) }

XGBoostは、CARTツリーの葉のスコアwを増やすために、つまりw += y * (scale * w - w)サンプルの不均衡の問題に対処するために使用していることがわかります。
線形回帰では、wをwx + bのwと誤解しました。効果を出すためにwの値を増やす方法を考えていました-_-#