Kaggle Note

CatBoostを使ってみた

2026-07-20
はじめに CatBoostは勾配ブースティング決定木の実装のひとつで、LightGBMやXGBoostと並ぶ選択肢です。特徴は大きく2つありま

faissの量子化でベクトルを圧縮する(メモリと精度のトレードオフ)

2026-07-19
はじめに faissでベクトルをそのまま持つと、float32なので1次元あたり4バイトです。100次元なら1件400バイト、118万件で約4

faissのIndexIVFFlatにおける速度と精度のトレードオフ

2026-07-18
はじめに 埋め込みベクトルで「似ているものを探す」とき、素直にやるなら全ベクトルとの距離を総当たりで計算します。正確ですが、ベクトルが数百万件

【LightGBM】pred_leafで葉を特徴量にする(GBDT+線形モデル)

2026-07-16
はじめに 決定木は、条件分岐でデータをたどり、各サンプルを必ず1つの葉に振り分けます。1つの葉は「同じ条件をたどってきたサンプルの集まり」——

【LightGBM】init_modelで学習を継続する(逐次学習)

2026-07-15
はじめに LightGBMはlgb.trainのinit_model引数に既存モデルを渡すと、そのモデルを起点に学習を続けられます。すでにある

【LightGBM】Tweedie回帰でゼロ過剰データを扱う

2026-07-14
はじめに 保険金の請求額、店舗ごとの需要、広告のコンバージョン金額——こうしたデータは「多くがゼロ、ときどき大きな正の値」という形をしています

【LightGBM】カテゴリ変数のネイティブ処理(one-hot不要)

2026-07-13
はじめに カテゴリ変数を勾配ブースティングに入れるとき、one-hotエンコーディングで0/1の列に展開するのが定番です。 一方でLightGB

【LightGBM】ランキング学習(lambdarank)で検索結果を並べ替える

2026-07-12
はじめに 回帰は「1件ごとの数値」を、分類は「1件ごとのクラス」を予測します。一方で**ランキング学習(Learning to Rank)**は、「

【LightGBM】分位点回帰で予測区間を出す

2026-07-11
はじめに 普通の回帰は「だいたいこのくらい」という1点を予測します。しかし実務では、「予測はこのくらいだが、上振れ・下振れはどこまであり得るか

【LightGBM】refitで木構造を保ったまま葉の値だけ更新する

2026-07-10
はじめに 学習済みのモデルを新しいデータに合わせたいとき、普通は最初から学習し直します。木を一から作り直すので、それなりに時間がかかります。 L