AI資格ドリル
資格を選ぶ

機械学習の具体的手法

G検定の特徴量エンジニアリングとスケーリング

特徴量エンジニアリングは、機械学習の前に、予測の手がかりとなる列を選び、尺度をそろえ、必要なら少数の軸にまとめる作業です。このページでは、特徴量選択・スケーリング・次元削減の3つの違いを表にし、年齢と年収の5人のデータで、スケーリングの前後で結果が変わる様子を計算します。特徴量選択は列を減らし、スケーリングは尺度をそろえ、次元削減は新しい軸を作ります。

このページは試験の学習用の整理です。5人のデータは説明用の架空の例です。

公式情報の確認

試験日、料金、申込条件、試験方式など変動する情報は、公式情報を最終確認してください。

試験の出題範囲・実施要項は変動するため、受験前に公式情報を確認してください。

特徴量選択・スケーリング・次元削減の違いと標準化

  1. 特徴量選択は元の列の一部を残す。スケーリングは列の数を変えず、尺度だけをそろえる。次元削減は元の列を組み合わせた新しい軸を作る
  2. 標準化は平均0・分散1に、最小最大変換は指定の範囲(多くは0から1)にそろえる
  3. 距離を使う手法では、尺度の大きい列が結果を決める。年齢と年収の例では、標準化すると2番目に近い人が入れ替わる
  4. 平均や標準偏差は訓練データで求め、同じ変換をテストデータに適用する
  5. 公式シラバスの記載は、教師あり学習で特徴量が必要なこと、教師なし学習の次元削減と主成分分析まで。特徴量選択やスケーリングという語は、確認できた範囲では見当たらない

シラバスの記載範囲

JDLAの公式シラバス(G2024#6から適用、2026年5月11日の第1.4版)を、2026年11月6日に調べました。機械学習の概要では、教師あり学習に「特徴量と教師データのペアが必要であること」、教師なし学習に「特徴量のみが必要であること」を理解する項目があります。教師なし学習のキーワード欄には、次元削減と主成分分析(PCA)が載っています。

一方、特徴量選択・特徴量エンジニアリング・スケーリング・標準化という語は、項目名にもキーワード欄にも見つかりませんでした。「正規化層」という語は載っていますが、これはディープラーニングの要素技術で、入力の列の尺度をそろえる前処理とは別の話です。出題で優先して押さえるのは、特徴量の意味と、次元削減・主成分分析です。スケーリングと特徴量選択は、シラバスに語としては載っていないものの、機械学習の前処理として広く使われるため、違いだけ押さえておくと用語を読み間違えにくくなります。特徴量そのものの意味はG検定の特徴量の用語解説にあります。

選択・スケーリング・次元削減の違い

3つは、列に何をするかで見分けます。scikit-learnの公式文書では、特徴量選択を、特徴量に対して使う機械学習の技法とし、SelectKBest、RFE、SelectFromModelなどを挙げています。標準化は、各列から平均を引いて標準偏差で割る変換、最小最大変換は、指定した最小値と最大値の間に収める変換です。PCAは、多変量データを、分散を最大限説明する直交した成分に分解します。

種類何をするか結果の列手法の例
特徴量選択使う列を選び、使わない列を取り除く元の列の一部が残る。列の数が減るSelectKBest(得点の高い上位k個)、再帰的特徴量削減(RFE)、SelectFromModel(重要度がしきい値を下回る列を除く)
スケーリング列ごとの単位や幅をそろえる列の数は変わらず、値の尺度だけが変わる標準化(平均を引いて標準偏差で割る)、最小最大変換(指定の範囲、多くは0から1に収める)
次元削減元の列を組み合わせて、少数の新しい軸にまとめる元の列とは別の、新しい列ができる主成分分析(PCA。分散を最大限説明する直交した成分に分解する)

scikit-learnでは、特徴量抽出を、文章や画像のような任意のデータを数値の特徴量へ変換することと説明し、特徴量選択とは大きく異なると注記しています。PCAのような新しい軸への変換は、このページでは次元削減として扱います。選択と抽出の違いは特徴量選択と特徴量抽出の違いのページ、次元削減の手法はk-means法と主成分分析のページで扱っています。

5人のデータでスケーリング

年齢が20、30、40、50、60歳、年収が700、300、500、600、400万円の5人(A〜E)がいるとします。年齢の平均は40歳で標準偏差は約14.14、年収の平均は500万円で標準偏差は約141.42です(5人全員をnで割った値)。標準化の値は(値−平均)÷標準偏差、最小最大変換の値は年齢が(値−20)÷40、年収が(値−300)÷400です。

人年齢年収(万円)標準化 年齢標準化 年収最小最大 年齢最小最大 年収
A20700−1.411.410.001.00
B30300−0.71−1.410.250.00
C405000.000.000.500.50
D506000.710.710.750.75
E604001.41−0.711.000.25

標準化すると、年齢も年収も−1.41から1.41の範囲にそろい、最小最大変換では0から1にそろいます。元の値では年収の幅が400万円、年齢の幅が40で、数字の大きさに10倍の開きがありました。標準化の考え方はDS検定の正規分布と標準化のページでも別の例で確認できます。

スケーリングで近い人が入れ替わる

新しく50歳・年収480万円の人Xが来て、距離が近い人を探す(k近傍法のような)場面を考えます。元の値のまま距離を測ると、年齢の差は最大でも40、年収の差は数百になり、年収の差がほぼ全てを決めます。標準化した値で測ると、年齢と年収が同じ重みで効きます。

Xから見た人元の値の距離標準化後の距離
C(40歳・500万円)22.40.72
D(50歳・600万円)120.00.85
E(60歳・400万円)80.60.91

1番近いのはどちらでもCですが、2番目は、元の値ではE(約80.6)、標準化後ではD(約0.85)です。Eは年齢が10歳違い、年収が80万円違い、Dは年齢が同じで、年収が120万円違います。元の値では年収の80と120の差が効き、標準化後は、年齢が同じという点が効きます。尺度をそろえないと、単位が大きい列が「近さ」を決めてしまいます。k近傍法で単位の影響を7点の例で確かめた内容はk近傍法のページにまとめています。

訓練データだけで求める

スケーリングの平均や標準偏差は、訓練データだけで求めます。scikit-learnの公式文書も、StandardScalerは訓練データで平均と標準偏差を求め、同じ変換をあとからテストデータへ適用できると説明しています。上の5人を訓練データ、Xをテストデータとみなすと、Xの標準化には、5人の平均(40歳・500万円)と標準偏差を使い、Xを含めて求め直しません。

テストデータの情報を前処理に混ぜると、評価が実際より良く見えます。これはデータリーケージと呼ばれる失敗で、アノテーション・コーパス・データリーケージのページに、平均を求める順序を数値で確かめた例があります。前処理もモデルの一部として、訓練データだけで作ります。

よくある質問

特徴量エンジニアリングとは何ですか?

予測の手がかりとなる特徴量を、モデルが使いやすい形に作る・選ぶ・整える作業の総称です。このページでは、列を選ぶ特徴量選択、尺度をそろえるスケーリング、新しい軸にまとめる次元削減の3つに分けて整理しています。G検定の公式シラバスに「特徴量エンジニアリング」という語は、確認できた範囲では見当たりません。

スケーリングは何のために行いますか?

列ごとに単位や幅が違うと、距離を使う手法で幅の大きい列が結果を決めてしまうためです。年齢(20〜60)と年収(300〜700万円)の例では、元の値のままだと年収の差がほぼ全てを決め、標準化すると2番目に近い人が入れ替わります。

標準化と最小最大変換の違いは何ですか?

標準化は、平均を引いて標準偏差で割り、平均0・分散1にそろえます。最小最大変換は、最小値と最大値を使って指定の範囲(多くは0から1)に収めます。外れ値があると、どちらも結果が動きます。

主成分分析は、特徴量選択ですか?

違います。特徴量選択は元の列を残すか除くかを決める処理です。主成分分析は、元の列を組み合わせて分散を最大限説明する新しい軸を作るので、次元削減に分類します。

次に読むと効率的なページ

執筆: AI資格ドリル編集部(運営者情報を見る)