用語比較
スタッキングとバギングの違い|予測をつなぐ方法と分散・バイアスの狙い(G検定)
アンサンブル学習の問題では、バギング・ブースティング・スタッキングが並んで出てきます。スタッキングだけが「予測を次のモデルの入力にする」という別の形なのに、バギングの仲間として覚えてしまう人がいます。
バギングは、データの部分集合ごとに作ったモデルの予測を集約して分散を減らす。スタッキングは、複数のモデルの予測を最終推定器への入力にして、バイアスを減らすと覚えると、選択肢を切り分けられます。
このページは、scikit-learn公式ドキュメント「1.11. Ensembles」の記述をもとに比べます。
この記事の目次
この記事の根拠と出典
各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。G検定の一次情報確認日: 2026-10-02。
結論
バギング
元の訓練集合のランダムな部分集合の上でモデルを複数作り、個々の予測を集約して最終予測にする。ベース推定器の分散を減らす方法として使われる。
スタッキング
個々の推定器の予測を積み重ねて、最終推定器の入力にして予測を計算する。バイアスを減らす方法と説明され、最終推定器は交差検証で訓練される。
見分け方
「予測を集約」ならバギング、「予測を最終推定器に入力」ならスタッキング。
違いを表で確認
| 比較軸 | バギング | スタッキング |
|---|---|---|
| 予測のまとめ方 | バギング:個々の予測を集約して最終予測にする | スタッキング:個々の予測を、最終推定器(final_estimator)への入力にして予測を計算する |
| 学習データの扱い | バギング:元の訓練集合のランダムな部分集合ごとにモデルを作る | スタッキング:推定器は訓練データ全体で学習する。最終推定器は、学習に使っていない標本への予測で訓練する |
| 主な狙い | バギング:ベース推定器の分散を減らす。過学習を減らす | スタッキング:バイアスを減らす |
| モデルの構成 | バギング:ブラックボックスな推定器(例:決定木)を、部分集合ごとに複数作る | スタッキング:公式の例は、種類の違う3つの推定器(RidgeCV・LassoCV・KNeighborsRegressor)を並列に並べる |
G検定の学習に使う書籍(Amazon)
試験範囲を通して読むときの1冊です。読んだ章は、このサイトの章別問題で確かめられます。
どこで迷っているかを切り分ける
問題文に「各モデルの予測を入力として別のモデルを学習する」とある人
予測が次のモデルの入力になるので、スタッキングです。バギングは予測を集約します。
「ランダムな部分集合ごとにモデルを作る」とある人
部分集合ごとにモデルを作って集約するのは、バギングの特徴です。
「分散を減らす」と「バイアスを減らす」で迷う人
公式ドキュメントは、バギングを分散を減らす方法、スタッキングをバイアスを減らす方法として説明します。
具体例で使い分ける
例 1
バギングの流れ
決定木を10本つくる場面を考えます。
- 訓練集合からランダムな部分集合を10通り取り、それぞれで決定木を1本ずつ学習します。
- 10本の予測を集約して、最終予測にします。
結論: 同じ種類のモデルを、別々の部分集合で作って集約するのがバギングです。
例 2
スタッキングの流れ
公式の例のように、RidgeCV・LassoCV・KNeighborsRegressorの3つを並べ、最終推定器にGradientBoostingRegressorを使う場面を考えます。
- 3つの推定器は、入力データに対して並列に積み重ねます。訓練時は訓練データ全体で学習します。
- 最終推定器は、3つの予測を入力にして最終的な予測を計算します。過学習を避けるため、cross_val_predictで内部的に得た、学習に使っていない標本への予測で訓練します。
結論: 種類の違うモデルの予測を、さらに別のモデルで束ねるのがスタッキングです。
例 3
選択肢で見分ける場合
「複数のモデルの予測を入力として、最終的な予測を行うモデルを学習する」という文を、バギングかスタッキングかで判断します。
- 最終的な予測を行うモデルが別にあり、その入力が各モデルの予測です。
- バギングには、予測を入力にする最終推定器はありません。予測を集約するだけです。
結論: 予測を入力にする最終推定器があれば、スタッキングです。
問題文から答えを選ぶ手順
- 1
予測の使われ方を見る
集約するならバギング、別のモデルの入力にするならスタッキングです。
- 2
学習データの作り方を見る
ランダムな部分集合ごとにモデルを作るならバギングです。
- 3
狙いを見る
分散を減らすならバギング、バイアスを減らすならスタッキングと説明されます。
試験での見分け方
- 1バギングは、部分集合ごとのモデルの予測を集約して、分散を減らす。
- 2スタッキングは、複数の推定器の予測を最終推定器の入力にして、バイアスを減らす。
- 3スタッキングの最終推定器は、交差検証で訓練される。
誤答しやすい選択肢
スタッキングもバギングのように予測を集約するだけだと考える
修正: スタッキングは、予測を最終推定器の入力にします。最終推定器が別に学習される点が違います。
バギングがバイアスを減らす方法だと考える
修正: 公式ドキュメントは、バギングをベース推定器の分散を減らす方法として説明します。
スタッキングの最終推定器を、同じ訓練データへの予測でそのまま訓練すると考える
修正: 過学習を避けるため、cross_val_predictで内部的に得た、学習に使っていない標本への予測で訓練します。
確認問題
Q1個々のモデルの予測を、別のモデルへの入力にする手法は?
答え: スタッキング
予測を最終推定器の入力にして、最終的な予測を計算します。
Q2公式ドキュメントが、分散を減らす方法として説明するのは?
答え: バギング
ランダムな部分集合ごとにモデルを作り、予測を集約します。
Q3スタッキングの最終推定器は、何で訓練されますか?
答え: 交差検証
学習に使っていない標本への予測で訓練し、過学習を避けます。
到達チェック
- バギングが予測を集約すると言える
- スタッキングが予測を最終推定器の入力にすると言える
- バギングは分散、スタッキングはバイアスを減らす方法だと言える
関連ページで確認する
同じ資格で次に知りたいこと
- バッグ・オブ・ワーズとTF-IDFの違い|出現回数をそのまま使うか、稀な語を重くするか(G検定)
バッグ・オブ・ワーズとTF-IDFの違いを、scikit-learn公式ガイドの記述(語順を無視する出現回数の表現、tf×idfの再重みづけ)と3文書の計算例で整理。G検定の自然言語処理の選択肢を切り分ける判断手順と確認問題つき。
- ルールベース機械翻訳と統計的機械翻訳の違い|人が書いた辞書と規則か、対訳データから推定した確率か(G検定)
ルールベース機械翻訳と統計的機械翻訳の違いを、訳の根拠(辞書と文法規則・対訳データの確率)、必要な資源、弱点で整理。G検定の機械翻訳の選択肢を切り分ける判断手順と確認問題つき。
- A3CとDQNの違い|経験再生で安定させる価値ベースか、並列の非同期学習で安定させるアクター・クリティックか(G検定)
A3CとDQNの違いを、学習の安定のさせ方(経験再生か並列のアクター・ラーナーか)、学ぶもの(行動価値か方策と状態価値か)、必要な計算資源で整理。G検定の深層強化学習の選択肢を切り分ける判断手順と確認問題つき。
よくある質問
Qスタッキングとバギングの違いは?
バギングは、部分集合ごとに作ったモデルの予測を集約します。スタッキングは、複数の推定器の予測を最終推定器の入力にして、最終的な予測を計算します。
Qバギングは何を減らす方法ですか?
scikit-learn公式ドキュメントは、ベース推定器の分散を減らす方法として説明します。過学習を減らすため、完全に成長させた決定木のような強く複雑なモデルと相性がよいとも述べます。
Qスタッキングの最終推定器はどう訓練しますか?
交差検証で訓練します。cross_val_predictで内部的に得た、学習に使っていない標本への予測を使い、過学習を避けます。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: ミナト編集部(運営者情報を見る)
