AIToday
Qiita 機械学習掲載日時: 2026年11月9日 1:00

XGBoostと勾配ブースティングをPythonで比較

LINEで送る
XGBoostと勾配ブースティングをPythonで比較

3つのポイント

  1. 何が起きたか

    12特徴量・2,000件の合成サンプルに4モデルを適用。

  2. なぜ重要か

    この固定条件下では、XGBoostの複雑さが素のGradient Boostingに対する測定可能な優位をもたらさなかった。差はアルゴリズム名ではなくデータと設定に依存することを示唆する。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

チュートリアルは比較を2段階で組み立てている。まず回帰の例を手作業で追う。平均予測から始め、残差にフィットさせた深さ2の小さな決定木を学習率0.45で1本ずつ加えていく。訓練MSEは木が0本のとき0.18915から、4本後には0.01294へ下がる。各木がそれまでのアンサンブルの誤りを修正する様子が示され、モデルを作り直しているわけではない。

2つ目の演習は二値分類に移り、4モデルすべてで同じ主要設定(推定器100、学習率0.1、深さ3)を固定する。Gradient BoostingとXGBoostのほぼ互角という結果は、実験規律の教訓として提示される。n_estimatorsが同じでもモデルの複雑さが同じとは限らないこと、テストデータはチューニングに一切使っていないことをチュートリアルは強調している。

教材はXGBoost特有の仕組みにはあえて踏み込まない。正則化と二次導関数は次回のレッスンに回され、早期停止も同様だ。著者は早期停止がここではまだ自動化されていないと述べている。この構成から、シリーズはXGBoostを読者がすでに手作業で築いたアイデアの拡張として扱い、ブラックボックスとは見なしていないことがうかがえる。

よくある質問
XGBoostはより単純なモデルに明確に勝ったのか?
いいえ。XGBoostとGradient BoostingはROC-AUC 0.8801と0.8802でほぼ横並びだった。どちらも単一決定木(0.7153)とAdaBoost(0.7431)を大きく上回った。
比較にはどのようなデータが使われたのか?
分類の演習では12特徴量の合成サンプル2,000件を使用し、訓練・検証・テストセットに分割した。実際の業務記録ではなく合成データだ。
これはGradient Boostingが常にXGBoostと同等という意味か?
チュートリアルはそう解釈するなと警告している。データの性質、木の深さ、木の本数、学習率によって結果は変わるとされ、一度の固定条件下の実行で一般的な順位は決まらない。
Qiita 機械学習元記事を読む
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

このようなAIの動きを、御社の業界・競合に合わせて毎日届ける法人プランもあります → 詳しく見る

次の記事へPalantir Technologiesが企業AI提携