Open1
LightGBMコード探訪
コンテキスト: https://bsky.app/profile/nnc5522.bsky.social/post/3laq3ensoj22x
二値分類はデフォルトでラベルが0より大きいか、どうかで1/-1を使ってloglossのgrad/hessを計算する。L37でis_pos_に無名関数がセットされてる。
この関数を使って、L113のGetGradients内で1/-1のラベルを作ってる。
is_pos_関数がtrue/falseを返す
→変数定義部分でintに暗黙的にキャスト
→0/1でclass_val_には[-1, 1]が入っててこれによってサンプルごとのラベルを作成
→作成したラベルを使ってloglossのgrad/hessを計算してる