機械学習モデルの精度は、アルゴリズムの選択と同じくらい「データの前処理」に左右されます。実世界のデータには欠損値、カテゴリ変数、外れ値、スケールの異なる特徴量など、多くの課題があります。この記事では、代表的な前処理手法と Qast がどのように自動処理するかを解説します。
なぜ前処理が重要なのか
多くの機械学習アルゴリズムは、入力データの品質と形式に対して特定の要件を持っています。欠損値があるとそのまま学習できないアルゴリズムがあり、カテゴリ変数は数値に変換する必要があり、特徴量のスケールが大きく異なると距離ベースのアルゴリズムが正しく機能しません。適切な前処理を行うことで、モデルが本来のパターンを効率的に学習できるようになります。
欠損値の処理
実世界のデータセットには、入力漏れ、計測エラー、データ結合の不一致などによる欠損値がほぼ必ず存在します。欠損値の処理方法は、データの性質と欠損のパターンによって使い分けます。
- 1
平均値・中央値補完
数値カラムの欠損値を、そのカラムの平均値または中央値で埋める手法です。外れ値がある場合は中央値が適しています。もっとも基本的で広く使われる方法です。
- 2
最頻値補完
カテゴリカラムの欠損値を、そのカラムで最も頻出する値で埋めます。カテゴリ変数にはこの方法が一般的です。
- 3
多重代入法(MICE)
他のカラムの値を使って欠損値を反復的に推定する高度な手法です。変数間の関係を保持できるため、欠損が多い場合に有効です。
- 4
行・列の削除
欠損率が極端に高い行や列は、補完よりも削除が適切な場合があります。ただし、データ量が少ない場合は慎重に判断が必要です。
Qast はアップロードされたデータの欠損パターンを自動分析し、各カラムに最適な補完手法を選択します。欠損率が80%を超えるカラムは自動的にフラグが立てられ、削除を検討するようガイドされます。
カテゴリ変数のエンコーディング
「東京」「大阪」「福岡」のようなカテゴリ変数は、多くのアルゴリズムがそのまま処理できないため、数値に変換する必要があります。変換方法の選択はモデルの精度に直結します。
- 1
One-Hot エンコーディング
各カテゴリ値に対してバイナリ(0/1)のカラムを作成します。カテゴリ数が少ない場合に適していますが、カテゴリが多い(高カーディナリティ)と次元が爆発するデメリットがあります。
- 2
ラベルエンコーディング
各カテゴリに整数を割り当てます。決定木ベースのアルゴリズム(XGBoost、LightGBM)では問題ありませんが、線形モデルでは順序関係を誤って学習するリスクがあります。
- 3
ターゲットエンコーディング
各カテゴリの目的変数の平均値でエンコードする手法です。高カーディナリティ変数に有効ですが、過学習を防ぐためにクロスバリデーション内で計算する必要があります。
特徴量スケーリング
特徴量のスケール(値の範囲)が大きく異なると、距離ベースのアルゴリズム(k-NN、SVM)や勾配降下法を使うモデル(ニューラルネットワーク)のパフォーマンスが低下します。スケーリングにより特徴量を同じ尺度に揃えます。
- 1
標準化(StandardScaler)
平均を0、標準偏差を1に変換します。正規分布に近いデータに適しており、外れ値の影響を受けにくい比較的安定した手法です。
- 2
正規化(MinMaxScaler)
値を0〜1の範囲にスケーリングします。範囲が明確なデータに適していますが、外れ値があると他の値が極端に圧縮されます。
- 3
ロバストスケーリング(RobustScaler)
中央値と四分位範囲を使ってスケーリングするため、外れ値に頑健です。外れ値が多いデータに推奨されます。
外れ値の処理
外れ値は、データの大部分から大きく外れた値です。入力エラーの場合もあれば、実際の稀な事象を反映している場合もあります。外れ値を除去するか、そのまま残すかはドメイン知識に基づいて判断する必要があります。一般的な検出方法として、IQR法(四分位範囲の1.5倍を超える値を外れ値とする)や Z-score 法が使われます。
特徴量エンジニアリング
既存の特徴量から新たな特徴量を作成する「特徴量エンジニアリング」も前処理の一部です。例えば、「生年月日」から「年齢」を計算したり、「購入日時」から「曜日」「時間帯」を抽出したりすることで、モデルが予測に有用なパターンを学習しやすくなります。Qast では日時カラムの自動特徴量抽出をサポートしています。
Qast での自動前処理パイプライン
Qast では72パターンの前処理パイプラインを自動的に構築・評価します。データの特性(欠損率、カーディナリティ、分布の形状)を分析し、各アルゴリズムに最適な前処理の組み合わせを選択します。ユーザーが前処理を手動で設定する必要はなく、CSVをアップロードするだけで最適なパイプラインが自動的に適用されます。
前処理の選択ミスは、アルゴリズムの選択ミスよりもモデル精度に大きな影響を与えることがあります。Qast は前処理とアルゴリズムの全組み合わせを自動評価するため、最適な組み合わせを見逃す心配がありません。


