1 特徴量の定義
特徴量(feature)とは、機械学習や統計モデルにおいて、入力データから抽出または生成される個々の測定可能な属性またはプロパティである。データの中から対象を表現するための数値やカテゴリとして定義され、モデルの学習と予測性能に直接影響を与える。適切な特徴量の選択や設計(特徴量エンジニアリング)は、モデルの精度向上や過学習の防止に不可欠であり、データ解析の基盤を成す。
1.1 観測データにおける役割
観測データは多くの場合、生のままでは機械学習モデルが直接扱うことが困難である。特徴量は、個々の観測(インスタンス)をモデルが理解できる形式に変換する橋渡し役を担う。例えば、住宅価格予測では、部屋数、築年数、立地情報などが特徴量として抽出され、これらがモデルの入力となる。適切な特徴量は、データの本質的なパターンを捉え、ノイズを除去する役割も持つ。
1.2 特徴量とラベルの関係
教師あり学習では、特徴量(説明変数)とラベル(目的変数)の間の関係性をモデルが学習する。特徴量は入力であり、ラベルは予測対象である。例えば、スパムメール分類では、メール内の単語出現頻度(特徴量)から「スパム/非スパム」(ラベル)を推定する。特徴量の質がラベルとの相関を適切に反映しているほど、モデルの精度は向上する。一方、教師なし学習ではラベルは存在せず、特徴量のみを用いてデータの構造を発見する。
2 特徴量の種類
2.1 数値特徴量
数値特徴量は、実数や整数などの数値で表現される属性である。計算機が直接演算可能であり、多くの機械学習アルゴリズムでそのまま利用できる。
2.1.1 連続値特徴量
連続値特徴量は、任意の実数値を取りうる。例えば、気温、身長、価格などが該当する。連続値は区間や比率に意味があり、線形モデルや距離ベースのアルゴリズムで扱いやすい。スケーリングの必要性が高い。
2.1.2 離散値特徴量
離散値特徴量は、整数値や限られた値のみを取る。例えば、家族人数、出荷個数、ページビュー数などが該当する。カウントデータはポアソン分布など特殊な分布に従うことがあり、統計的処理に注意が必要である。
2.2 カテゴリ特徴量
カテゴリ特徴量は、質的な属性を表し、通常は有限個の値(カテゴリ)からなる。機械学習モデルで使用するには、数値への変換(エンコーディング)が必要である。
2.2.1 順序なしカテゴリ
順序なしカテゴリは、各カテゴリ間に自然な順序が存在しない。例えば、色(赤、青、緑)、国名、職業などが該当する。一般的にone-hotエンコーディングが用いられる。
2.2.2 順序ありカテゴリ
順序ありカテゴリは、カテゴリ間に明確な順序関係がある。例えば、学歴(小学、中学、高校、大学)、満足度(低、中、高)などが該当する。ラベルエンコーディングなど順序を保持した変換が適している。
2.3 テキスト特徴量
テキスト特徴量は、文書や文章から抽出される。単語の出現頻度(Bag-of-Words)、文書内での重要度(TF-IDF)、単語の分散表現(Word Embedding)などが代表的な手法である。テキストデータは高次元かつスパースになりやすく、次元削減や特殊な前処理が求められる。
2.4 画像特徴量
画像特徴量は、画像データから抽出される。従来の手動設計特徴量(SIFT、HOGなど)に加え、深層学習による自動抽出特徴量(CNN特徴量)が広く使われる。解像度、色空間、エッジ情報などが生のピクセル値と組み合わされる。
2.5 時系列特徴量
時系列特徴量は、時間順に並んだ観測値から抽出される。トレンド、季節性、自己相関、移動平均などが代表例。時間の前後関係や周期性を考慮した特徴量設計が必要である。ラグ特徴や窓関数統計量がよく用いられる。
3 特徴量エンジニアリング
特徴量エンジニアリングは、生データから有用な特徴量を設計・生成・選択するプロセス全体を指す。モデルの性能を大きく左右する。
3.1 特徴量抽出
3.1.1 ドメイン知識に基づく抽出
専門家の知識を活用して、データから意味のある特徴量を手動で作成する。例えば、医療診断では年齢と体重の積(BMI)、金融では移動平均やボラティリティ指標などが該当する。ドメイン知識に基づく特徴量は解釈性が高く、少量データでも効果的な場合がある。
3.1.2 自動抽出手法
深層学習や自動特徴量生成アルゴリズム(例:Featuretools、AutoFE)を用いて、大量の特徴量を自動的に抽出する。特に画像やテキストなどの非構造化データでは、CNNやRNNが生データから直接特徴を学習する。自動抽出は効率的だが、解釈性が低下するリスクがある。
3.2 特徴量変換
3.2.1 スケーリング(正規化・標準化)
数値特徴量の尺度を揃える変換。正規化(Min-Maxスケーリング)は値を[0,1]区間に、標準化(Zスコア)は平均0、分散1に変換する。距離ベースのアルゴリズム(k-NN、SVM)や勾配降下法を用いるモデルで必須。
3.2.2 エンコーディング(one-hot, label, ターゲット)
カテゴリ特徴量を数値に変換する手法。one-hotエンコーディングは各カテゴリを独立したバイナリ列に、ラベルエンコーディングは順序整数に、ターゲットエンコーディングは目的変数の平均値などで置き換える。ターゲットエンコーディングはデータリークに注意が必要。
3.2.3 非線形変換(対数・Box-Cox)
特徴量の分布を正規分布に近づけたり、歪みを修正する変換。対数変換はレンジが広いデータ(価格、人口)に、Box-Cox変換はより一般化されたべき乗変換である。線形モデルの仮定を満たすために用いられる。
3.3 特徴量選択
3.3.1 フィルター法
統計的指標(分散、相関係数、カイ二乗検定、相互情報量など)を用いて特徴量をランク付けし、閾値で選択する。モデルに依存せず高速であるが、特徴量間の相互作用を考慮できない。分散が小さい特徴量やラベルと無相関な特徴量は除去される。
3.3.2 ラッパー法
モデルの予測性能を直接評価基準として特徴量のサブセットを探索する。順次選択(前進選択・後退選択)や遺伝的アルゴリズムが代表例。計算コストは高いが、モデルに最適な特徴量セットを得られる。
3.3.3 埋め込み法
モデルの学習過程で同時に特徴量選択を行う。L1正則化(Lasso)、決定木の重要度、ランダムフォレストのジニ不純度減少などが該当する。フィルター法とラッパー法の中間的な性質を持つ。
3.4 特徴量生成(次元削減)
3.4.1 主成分分析(PCA)
元の特徴量の線形結合で新しい直交成分(主成分)を生成する。分散が最大となる方向に射影し、次元削減とノイズ除去を同時に行う。教師なし学習の一種で、可視化や前処理に広く利用される。
3.4.2 t-SNE
高次元データを2次元や3次元に可視化するための非線形次元削減法。局所的な構造を保存するように設計され、クラスタリングやデータ探索に有効。ただし、新たなデータ点の変換は難しく、主に可視化用途に限定される。
4 特徴量の評価と診断
4.1 特徴量重要度
モデルが各特徴量をどの程度活用しているかを示す指標。ランダムフォレストや勾配ブースティングでは、不純度減少やSHAP値、ゲインなどが用いられる。重要度を可視化することで、モデルの解釈や不要な特徴量の特定に役立つ。
4.2 相関分析
4.2.1 線形相関(ピアソン)
2つの連続変数間の線形的な関係の強さを-1から1の範囲で示す。値が0に近いほど無相関。多重共線性の検出に用いられ、相関の高い特徴量は冗長性をもたらす。
4.2.2 順位相関(スピアマン)
単調な関係(線形でなくてもよい)を評価するノンパラメトリックな手法。外れ値の影響を受けにくく、順序尺度のデータにも適用可能。ピアソン相関が適さない場合に用いられる。
4.3 欠損値と外れ値の影響
欠損値は特徴量の分布を歪め、モデルの学習を妨げる。補完(平均値、中央値、予測モデル)や欠損自体を特徴量として扱う方法がある。外れ値は極端な値を含むため、ロバストスケーリングやクリッピング、変換による影響緩和が必要。これらの処理を怠るとモデルの汎化性能が低下する。
5 特徴量の応用例
5.1 自然言語処理における特徴量(Bag-of-Words, TF-IDF, Word Embedding)
テキスト分類や感情分析では、文書をベクトル表現に変換する。Bag-of-Wordsは単語の出現回数を、TF-IDFは文書内での重要度を重み付けする。Word2VecやGloVeなどのWord Embeddingは単語の意味的関係を低次元ベクトルで表現し、文脈を考慮した特徴量として広く使われる。
5.2 コンピュータビジョンにおける特徴量(SIFT, HOG, CNN特徴量)
画像認識では、エッジや局所パターンを捉える特徴量が重要。SIFT(Scale-Invariant Feature Transform)は回転・スケール不変な局所特徴、HOG(Histogram of Oriented Gradients)は物体検出に強い。近年はCNN(Convolutional Neural Network)が画像全体からエンド・ツー・エンドで特徴を学習する。
5.3 推薦システムにおける特徴量(協調フィルタリング、属性ベース)
ユーザーとアイテムの相互作用行列から抽出される協調フィルタリング特徴量(行列分解の潜在因子)と、ユーザー属性(年齢、性別)やアイテム属性(ジャンル、価格)を組み合わせる。さらに、時間やコンテキスト情報を加えることで精度が向上する。
6 特徴量の限界と注意点
6.1 次元の呪い
特徴量の次元が増えるほど、データ空間がスパースになり、距離計算や統計的推定が困難になる。過学習のリスクも高まる。次元削減や特徴量選択、正則化などの対策が必要である。
6.2 特徴量の解釈可能性
複雑な特徴量(深層学習の内部表現、多数の交互作用特徴など)は、モデルの予測理由を人間が理解することを難しくする。解釈可能性が要求される領域(医療、金融)では、単純で透明性の高い特徴量が優先される。SHAPやLIMEなどの説明手法が補完的に用いられる。
6.3 データリーク(情報漏洩)の防止
モデル学習時に本来利用できない将来情報やテストデータの情報が特徴量に混入すると、評価が楽観的になり実運用で性能が低下する。例えば、全データの平均を使った補完、時系列データでの未来情報の混入、ターゲットエンコーディングの不適切な適用などが原因となる。クロスバリデーション内で前処理を行うなど、厳格なデータ分割が不可欠である。