データ加工と特徴量
データのクレンジング(4-3)まで終えたら、いよいよ分析やモデリングに使える形へと「加工」する段階に入ります。本ページ(4-4)では、その代表的な技術である標準化、名義尺度のダミー変数化、そして数値データの特徴量化(二値化・離散化・対数変換・スケーリング・正規化・交互作用特徴量など)を扱います。
これらは、機械学習モデルに正しくデータを読み込ませたり、モデルの精度を高めたりするために欠かせない、第4章の総まとめにあたる実践的な内容です。
1. なぜデータを「加工」する必要があるのか
分析やモデリングに使う元データは、そのままの形では扱いにくいことが多々あります。単位や尺度がバラバラだったり、文字列のカテゴリが混ざっていたり、値の分布が極端に偏っていたりするためです。こうした元データを、分析や機械学習のアルゴリズムが正しく処理できる形に変換する作業を特徴量エンジニアリング※1と呼びます。
たとえば「身長(cm)」と「年収(円)」という2つの変数をそのまま比較すると、年収の数値の桁が大きすぎて、身長の影響がほとんど無視されてしまうことがあります。あるいは「都道府県名」のような文字列は、そのままでは多くの統計・機械学習の計算式に代入できません。こうした問題を解決するのが、この章で扱う加工技術です。
身長と年収を「同じものさし」で比べようとしても、桁が違いすぎてうまくいかないよね。データも同じで、比較できる形に「揃える」作業が必要なんだよ。
2. 標準化 ― ものさしを揃える
標準化※2とは、単位や尺度の異なる変数どうしを、同じものさしで比較できるように変換する処理です。具体的には、各データから平均を引き、標準偏差で割ることで、平均0・標準偏差1のデータに変換します。第3章で学んだ「標準正規分布への変換(zスコア)」と、計算の考え方はまったく同じです。
標準化後の値 = (元の値 − 平均) ÷ 標準偏差
分子の「元の値−平均」で基準点を平均に合わせ、分母の「標準偏差」で散らばりの大きさを1にそろえます。この結果、「平均から標準偏差何個分離れているか」という共通の物差しで、単位の異なる変数どうしを比較できるようになります。
標準化が特に必要になるのは、変数間の距離を計算するタイプのモデル(たとえばk近傍法やクラスタリング)や、勾配降下法で学習するモデル(たとえば線形回帰やニューラルネットワーク)を使うときです。単位の桁が大きい変数(年収など)が、桁の小さい変数(年齢など)を実質的に無視してしまう事態を防ぐために、標準化はほぼ必須の前処理となります。
- 「年齢(0〜100程度)」と「年収(0〜1000万円程度)」を同じモデルに入れると、桁の大きい年収の影響が過大になりやすい → 両方を標準化してから使う
- 顧客をいくつかのグループに分けるクラスタリングを行う際、購入金額と来店回数のスケールをそろえるために標準化する
標準化とは何かを理解し、適切に標準化が行えることはDS検定の必須項目です。「平均を引いて標準偏差で割る」という計算そのものと、「単位の異なる変数を比較可能にする」という目的をセットで覚えておきましょう。
標準化の計算式、実は第3章の「zスコア」の計算とまったく同じなんだよね。新しい公式が出てきたと身構えなくて大丈夫、もう知ってる内容の応用だよ!
3. 名義尺度のダミー変数化
第3章で学んだ4つの尺度水準のうち、名義尺度(血液型、都道府県、商品カテゴリなど文字列で表されるカテゴリデータ)は、そのままでは多くの統計モデルや機械学習アルゴリズムに投入できません。この問題を解決するのがダミー変数※3化(One-Hotエンコーディングとも呼ばれます)です。
ダミー変数化とは、カテゴリごとに「該当すれば1、該当しなければ0」という新しい列を作る変換です。たとえば「天候」という列に「晴・曇・雨」という3つのカテゴリがある場合、「天候_晴」「天候_曇」「天候_雨」という3つの新しい列を作り、実際の天候に応じてどれか1つの列だけが1になり、残りは0になるようにします。
| 元の天候データ | 天候_晴 | 天候_曇 | 天候_雨 |
|---|---|---|---|
| 晴 | 1 | 0 | 0 |
| 曇 | 0 | 1 | 0 |
| 雨 | 0 | 0 | 1 |
ここで注意したいのは、名義尺度には本来「順序」の意味がないという点です。もし「晴=1、曇=2、雨=3」のように単純に数値を割り振ってしまうと、「雨は晴の3倍」といった誤った大小関係・順序をモデルに読み込ませてしまう危険があります。ダミー変数化は、この誤った順序関係を持ち込まずにカテゴリデータを数値として扱うための、標準的な方法です。
名義尺度の変数をダミー変数に変換できることはDS検定の必須項目です。「カテゴリの数だけ0/1の列を作る」という手順と、「名義尺度に順序をつけて数値化してはいけない」という注意点をあわせて押さえましょう。
4. 数値データの特徴量化 ― 二値化・離散化・対数変換・スケーリング・交互作用
標準化やダミー変数化以外にも、数値データをより扱いやすく、あるいはモデルの精度が上がりやすい形に加工する手法がいくつもあります。これらをまとめて数値データの特徴量化と呼びます。代表的な手法を整理します。
| 手法 | 内容 | 具体例 |
|---|---|---|
| 二値化 | ある閾値を境に0/1の2値に変換する | 「購入金額1万円以上か否か」を1/0に変換 |
| 離散化(ビニング) | 連続値をいくつかの区間(ビン)に区切ってカテゴリ化する | 年齢を「10代」「20代」「30代」…と区分に分ける |
| 対数変換 | 値の対数を取り、裾の長い分布を扱いやすくする | 年収や売上など、右に大きく裾を引く分布をlog変換する |
| スケーリング・正規化 | 値を一定の範囲(0〜1など)に収める | テストの点数(0〜100点)を0〜1の範囲に変換する |
| 交互作用特徴量 | 2つ以上の変数を掛け合わせるなどして新しい特徴量を作る | 「単価×購入個数」を掛け合わせて「購入金額」という新変数を作る |
対数変換※4は、第3章で学んだ「対数は掛け算を足し算に変える」という性質を活かした加工です。年収や売上のように、一部の極端に大きい値が分布の右に裾を引くデータに対数変換をかけると、分布の形が左右対称に近づき、多くの統計モデルが前提とする「正規分布に近い形」に近づけることができます。
スケーリング・正規化※5は、標準化と似ていますが、目的が少し異なります。標準化が「平均0・標準偏差1」に揃えるのに対し、正規化(min-maxスケーリングとも呼ばれます)は、データの最小値を0、最大値を1になるように変換します。値の範囲を一定の区間に収めたいときに使われる手法です。
交互作用特徴量※6は、単独の変数だけでは捉えられない「組み合わせによる効果」をモデルに認識させるための工夫です。たとえば「単価」と「購入個数」をそれぞれ別々にモデルへ入れるだけでなく、両者を掛け合わせた「購入金額」という新しい特徴量を作ることで、モデルの予測精度が向上する場合があります。
- 顧客の年収データ(右に裾を引く分布)に対数変換をかけてから、標準化してモデルに投入する
- 「来店回数」を「1〜2回」「3〜5回」「6回以上」に離散化し、常連度合いをカテゴリとして扱う
- 「広告費」と「季節(繁忙期フラグ)」を掛け合わせた交互作用特徴量を作り、季節によって広告効果が変わるかをモデルに学習させる
数値データの特徴量化(二値化/離散化、対数変換、スケーリング/正規化、交互作用特徴量の作成など)を行うことができることはDS検定のスキルチェック項目です。それぞれの手法が「何のために」「どんな分布・目的に対して」使われるのかを、表とセットで覚えておきましょう。
手法の名前がいっぱい出てきて大変に見えるけど、全部「モデルがデータを正しく読み取れるようにするための工夫」って共通点があるんだよね。目的から逆算すると覚えやすいよ!
まとめ
4-4では、加工されたデータを分析・モデリングに使える形へと変換する特徴量エンジニアリングの基礎を整理しました。振り返っておきましょう。
- 標準化 ― 平均を引いて標準偏差で割り、単位の異なる変数を同じものさしで比較できるようにする
- ダミー変数化 ― 名義尺度のカテゴリを0/1の列に変換し、誤った順序関係を持ち込まずに数値として扱う
- 数値データの特徴量化 ― 二値化・離散化・対数変換・スケーリング/正規化・交互作用特徴量など、目的に応じた加工手法を使い分ける
ここまでで、第4章「データの理解・検証・準備」の全レッスンが完了しました。分析設計から、データの確認、サンプリングとクレンジング、そして特徴量への加工まで、データと向き合う実務の骨格を一通り学んだことになります。章末の確認問題で理解度をチェックしたら、次は第5章「可視化の基礎」に進み、加工したデータをどう見せるかを学んでいきましょう。
- 特徴量エンジニアリング … 元データを、分析や機械学習モデルが扱いやすい・精度が上がりやすい形に変換・加工する一連の作業のこと。↩
- 標準化 … データから平均を引き標準偏差で割ることで、平均0・標準偏差1の分布に変換する処理。単位の異なる変数を比較可能にする。↩
- ダミー変数 … 名義尺度などのカテゴリデータを、「該当すれば1、該当しなければ0」の列に変換したもの。One-Hotエンコーディングとも呼ばれる。↩
- 対数変換 … データの値の対数を取る加工のこと。右に裾を引く分布を、より対称に近い分布に近づける効果がある。↩
- スケーリング・正規化 … データの値を一定の範囲(多くは0〜1)に収まるように変換する処理。min-maxスケーリングとも呼ばれる。↩
- 交互作用特徴量 … 2つ以上の変数を掛け合わせるなどして作る、単独の変数だけでは表せない「組み合わせの効果」を捉えるための新しい特徴量のこと。↩