活用テクニック2026年3月3日

データ前処理とは? — AIが予測精度を高めるために裏側でやっていること

「前処理」って何をしているの? 欠損値の補完、カテゴリ変換、スケーリングなど、予測モデルの精度を大きく左右する前処理の仕組みを、料理のたとえでやさしく解説します。

Qast の前処理パイプライン概要画面

機械学習で予測モデルを作るとき、実は「モデルの学習」よりも前に行われる「データの前処理」がモデルの精度を大きく左右します。料理にたとえると、前処理は「食材の下ごしらえ」にあたります。どんなに腕のいいシェフ(アルゴリズム)でも、泥付きの野菜をそのまま鍋に入れたらおいしい料理はできません。この記事では、Qast が裏側で自動的に行っている前処理の仕組みを、専門用語をできるだけ使わずに解説します。

なぜ前処理が必要なのか

現実のデータには「空欄がある」「文字と数字が混在している」「値の範囲がバラバラ」といった問題がつきものです。AIモデルは基本的に数値の計算しかできないため、こうしたデータをそのまま渡すと、学習がうまくいかなかったり、的外れな予測をしたりします。前処理はこうした「生データの困りごと」を解決し、AIが学習しやすい形に整える工程です。

データサイエンスの世界では「データの前処理に全体の80%の時間がかかる」と言われるほど重要な工程です。Qast はこれを72パターン自動で試すことで、手作業を不要にしています。

欠損値の補完 — 空欄をどう埋めるか

アンケートの未回答、センサーの一時的な故障、入力ミスなど、現実のデータには空欄(欠損値)がよくあります。空欄があるとAIは計算できないため、何らかの方法で埋める必要があります。料理でいえば「足りない食材を代わりのもので補う」作業です。

  1. 1

    平均値・中央値で埋める

    数値データの空欄を、そのカラムの平均値や中央値で埋めます。もっとも一般的な方法で、「だいたいこのくらいの値だろう」という推測で補完します。外れ値が多い場合は中央値のほうが安全です。

  2. 2

    最頻値で埋める

    カテゴリデータ(「東京」「大阪」など文字列の値)の空欄には、もっとも頻度の高い値を入れます。性別や都道府県のようなデータに使います。

  3. 3

    前後の値で埋める(時系列データ)

    時間順に並んだデータでは、直前や直後の値で埋める方法が有効です。気温や株価のように連続性のあるデータで使われます。

  4. 4

    「不明」として扱う

    「空欄であること自体が情報になる」場合もあります。たとえば「年収未回答」は「回答したくない理由がある」という意味を持つかもしれません。その場合は無理に埋めず、欠損を示すフラグ列を追加します。

カテゴリ変数のエンコーディング — 文字を数値に変換する

AIモデルは数値しか扱えないため、「東京」「大阪」「福岡」のような文字列データをそのまま渡すことはできません。文字を数値に変換する作業を「エンコーディング」と呼びます。料理でいえば「食材を調理しやすいサイズに切る」工程です。

  1. 1

    ワンホットエンコーディング

    「東京」「大阪」「福岡」の3つの値がある場合、「東京フラグ」「大阪フラグ」「福岡フラグ」の3つの列を作り、該当する列に1、それ以外に0を入れます。値の大小関係がないカテゴリデータに適した方法です。

  2. 2

    ラベルエンコーディング

    各カテゴリに数値を割り当てます(東京=0、大阪=1、福岡=2)。決定木ベースのアルゴリズム(XGBoostやLightGBMなど)ではこの方法でも問題なく学習できます。

  3. 3

    ターゲットエンコーディング

    カテゴリごとの「目的変数の平均値」で置き換える高度な手法です。たとえば「東京の平均売上=500万、大阪の平均売上=350万」のように変換します。情報量が多い反面、データリークのリスクがあるため注意が必要です。

スケーリング — 値の範囲を揃える

「年齢(0〜100歳)」と「年収(0〜数千万円)」のように、カラムによって値の範囲が大きく異なると、AIが「数値の大きいカラムのほうが重要だ」と誤解してしまうことがあります。スケーリングは、すべてのカラムの値の範囲を揃える処理です。料理でいえば「すべての食材の大きさを均一に切り揃える」ようなものです。

  1. 1

    標準化(Standardization)

    各カラムの値を「平均0、標準偏差1」に変換します。変換後の値は「平均からどれだけ離れているか」を表し、多くのアルゴリズムで相性が良い標準的な方法です。

  2. 2

    正規化(Min-Max Normalization)

    各カラムの値を 0〜1 の範囲に収めます。最小値が0、最大値が1になるように線形変換します。ニューラルネットワークやk近傍法で特に有効です。

  3. 3

    ロバストスケーリング

    中央値と四分位範囲を使ってスケーリングします。外れ値の影響を受けにくいため、外れ値が多いデータに適しています。

決定木ベースのアルゴリズム(XGBoost、LightGBM、ランダムフォレスト等)は値の大小関係だけで分岐するため、スケーリングは不要です。一方、線形回帰やSVM、ニューラルネットワークではスケーリングが精度に大きく影響します。Qast はアルゴリズムごとに最適なスケーリングを自動選択します。

外れ値の処理 — 極端な値にどう対処するか

「平均年収400万円のデータに年収10億円の人が1人いる」ような極端な値を外れ値と呼びます。外れ値があるとモデルがその値に引っ張られ、大多数のデータに対する予測精度が下がることがあります。ただし、外れ値がすべて「異常」とは限りません。不正検知では外れ値こそが検出したい対象です。

  1. 1

    IQR法(四分位範囲法)

    データの25%点と75%点の差(IQR)を基準に、その1.5倍以上離れた値を外れ値と判定します。箱ひげ図のヒゲの外側にある点がこれにあたります。

  2. 2

    Zスコア法

    平均から標準偏差の何倍離れているかで判定します。一般にZスコアが3を超える値を外れ値とみなします。データが正規分布に近い場合に有効です。

  3. 3

    クリッピング(上下限の制限)

    外れ値を削除するのではなく、上限・下限の値に置き換えます。「年収10億円」を「年収2000万円」に丸めるイメージです。データを失わずに外れ値の影響を抑えられます。

特徴量エンジニアリング — データから新しい手がかりを作る

既存のカラムから新しいカラムを生成し、AIに追加の手がかりを与える工程です。料理でいえば「食材を組み合わせてソースを作る」ようなもので、元の食材にはない新しい味わいが生まれます。

  1. 1

    日時データの分解

    「2026-03-01 14:30:00」という日時から「年」「月」「曜日」「時間帯」「祝日フラグ」などを抽出します。たとえば売上予測では「金曜日」や「月末」という情報が強い手がかりになります。

  2. 2

    数値の区間化(ビニング)

    連続する数値を区間に分けます。年齢を「10代」「20代」「30代」…のようにグループ化することで、線形では捉えにくいパターンを学習しやすくします。

  3. 3

    特徴量の掛け合わせ(交互作用)

    「面積 × 階数」のように複数のカラムを組み合わせて新しいカラムを作ります。個々のカラムだけでは見えない関係性を捉えるのに効果的です。

  4. 4

    対数変換

    年収や売上のように右に裾が長い分布のデータを対数に変換することで、分布を正規分布に近づけます。これにより線形モデルの精度が向上することがあります。

前処理の順番も重要

前処理は「どの手法を使うか」だけでなく「どの順番で行うか」も結果に影響します。一般的には「欠損値の補完 → カテゴリ変換 → 外れ値処理 → スケーリング → 特徴量エンジニアリング」の順で行いますが、最適な組み合わせはデータとアルゴリズムによって異なります。

Qast は72パターンの前処理パイプライン × 39種類のアルゴリズムを自動で組み合わせ、最も精度の高い組み合わせを発見します。「どの前処理をどの順番で適用するか」を手作業で試行錯誤する必要はありません。

Qast での前処理の確認方法

Qast で学習が完了すると、各モデルの詳細画面で「適用された前処理パイプライン」を確認できます。どのカラムにどの前処理が適用されたかが一覧で表示されるため、モデルがどのようにデータを処理したかを理解できます。また、EDA(探索的データ分析)機能を先に実行しておくと、データの分布や欠損値の状況を可視化でき、前処理の効果をより深く理解できます。

Qast のCSVアップロードから自動前処理の流れ
CSVをアップロードするだけで、データ型推論から前処理、モデル学習まですべて自動で実行されます。

Qast を導入してみませんか?

導入のご相談やデモのご依頼は、お気軽にお問い合わせください。