総合情報サイト / AI活用事例・AI導入事例 / AI・機械学習に必須のデータの前処理とは?正規化・標準を使った前処理方法を解説

AI・機械学習に必須のデータの前処理とは?正規化・標準を使った前処理方法を解説

業務効率化や売上拡大のため、ビジネスでのAI開発・活用が進んでいます。 ですが、AI活用に「データ前処理」が重要であることはあまり知られていません。 データ前処理は、AI開発までの作業工程の8割を占めるとも言われるほど重要な工程です。 本記事では、AIにおけるデータ前処理とは何なのか、具体的なデータの前処理方法を解説していきます。

  • AIのデータ前処理とは?

    AIを開発するなら、データ前処理は避けては通れない工程の1つです。
    データ前処理とはどのようなものなのか、概要とその重要性を見ていきましょう。

    データ前処理とは

    データの前処理とは、簡単にいうとAIにデータを機械学習させる前に「データを加工すること」です。
    AIがデータを学習しやすいよう、データをきれいに整える作業と考えるとわかりやすいかもしれません。AIを開発・実装するまでには、大きく4つの工程があります。データ前処理は、この工程の1つです。

    1. 要件定義
    2. データ前処理
    3. 機械学習モデルの作成
    4. AIの実装

    1つ目の要件定義では、AIを開発して実装する内容や進め方を決定します。解決したい課題から要求を洗い出し、最終的にAIで実装すべき機能・内容を定める工程です。
    2つ目のデータ前処理では、AIに機械学習させる前にデータの集計・加工を行います。データの不足している値を補ったり、データの形式を統一したりする作業です。
    3つ目の機械学習モデルの作成は、機械学習で入力したデータをどのように出力するか仕組みを決めます。
    4つ目の実装では、3つ目に作成した機械学習モデルを実際に運用し、求める予測精度に達するまで再学習を行います。

    4つのAI開発工程を見ると、3つ目の機械学習モデルの作成・評価が重要に思えます。
    ですが、実際は機械学習させるデータをどのように加工するかが最重要といっても過言ではありません。なぜ、これほどまでにデータ前処理は重要なのでしょうか。

    データ前処理はなぜ必要?

    想像していただければわかりますが、必要な情報が完璧にそろっているデータは珍しいです。
    多くのデータは必要な数値が抜けている場合がほとんどですし、データごとに形式が違うこともあります。数値に変換されていない、テキストデータ(文字データ)しかない場合も多々あります。

    この状態のままAIにデータを機械学習させてもエラーが発生する上、不十分な予測結果しか得られません。そのためデータの前処理を行って、AIの機械学習前にデータを整理しておく必要があるのです。AIは機械学習したデータを元に予測を導き出すので、データの形式やデータの質・量が予測精度を決めます。

    データ前処理は、AIがスムーズに機械学習を行うために必要な工程であると同時に、機械学習の予測精度を担保するために必要な開発工程ともいえます。

    AIのデータ前処理を自動化する方法

    予測精度の7〜8割を左右すると言われるほど、機械学習において重要なデータの前処理。手作業でデータ前処理を行うと膨大な時間がかかりますが、AI開発プラットフォームの「MatrixFlow」なら、データの前処理を自動化できます。MatrixFlowで自動化できる前処理は、(1)数値に変換する(2)欠損値を変換する(3)列を削除するの3つです。

    (1)数値に変換するとは、テキストデータを数字に置き換える処理のことです。男性・女性といったテキストデータを、男性なら0・女性なら1といったように、数字に置き換えることでデータを集計しやすくします。

    (2)欠損値を変換する作業では、欠けがある行を丸ごと削除したり、欠損値を指定した任意の数値に置き換えることが可能です。これにより、欠損値があることで発生するエラーを減らし、データの母数を担保できるようになります。

    最後の(3)列を削除する機能は、AIの予測に不要な列を削除し、データを軽くすることが可能です。これらデータ前処理の主な作業を自動化することで手作業によるミスを減らし、データ前処理にかかる時間を大幅短縮できるようになります。

    データ前処理とクレンジングの違い

    データ前処理と似たような言葉で、「データクレンジング」や「クレンジング」といった言葉があります。データクレンジングとは、データ前処理の工程の内の1つです。データ前処理にはいくつかの工程があり、「データクレンジング」の他にも「データの統合」や「データの変換」といった工程があります。

    データクレンジングの役割は、加工する前のデータのエラーやノイズを取り除くことです。学習させるデータにエラーやノイズが入っていると、AIは適切にデータを学習することができません。学習できたとしても予測の質が下がってしまうため、データクレンジングによってデータをきれいに整える工程が欠かせません。そのため、データ前処理の中でも、データクレンジングの作業精度が最重要とされています。データクレンジングが終わったら加工したデータを統合し、AIに学習させるフォーマットに変換し、データ前処理の完了です。

  • AIのデータ前処理方法・種類

    具体的な、AIのデータ前処理方法を解説していきます。データ前処理でどのような作業を行っているのか、どのような手法があるのかを見ていきます。

    なお、前処理における「削除」はデータから不要な行や列を完全に取り除くこと、「除去」は異常値や外れ値を修正し、正常なデータに置き換えることと定義して解説していきます。

    (1)データクレンジング

    AIにデータを機械学習させる際、データに欠けがあるとAIは適切に学習することができません。そのため、データ内の欠損値をなんらかの方法で処理する必要があります。

    データクレンジングは、こうしたデータの欠損値や異常値を処理する前処理方法の1つです。データクレンジングには、以下のような処理が含まれます。

    ・欠損値の削除・補間
    ・外れ値・異常値を削除する
    ・重複データを削除する

    欠損値の削除・補間

    「欠損値」とは、必要な値が欠けているデータのことです。欠損値の反対は正常値といいます。欠損値は、必要な情報が不足している場合や、担当者の入力漏れによって発生します。データクレンジングではこれら欠損値を確認し、処理する作業から始まります。欠損値に対する処理方法は2つです。

    • 欠損値を補間する
    • 欠損値を削除する
    欠損値を補間する

    1つ目の前処理方法は、平均値や最頻値など別の数値で欠損値を補完する方法です。
    「平均値」は全てのデータを足してデータの数で割った値、「最頻値」は最も多く出現している値をいいます。欠損値を含むデータがAIの機械学習に必要な場合、この処理方法を使えば、欠けがあるデータも利用できるようになります。欠けがあるデータを丸ごと削除するとデータ量が足りなくなる場合も、この方法で欠損値を補間します。

    欠損値を削除する

    2つ目の前処理方法は、欠損値がある行もしくは列ごと削除する方法です。1つ目の前処理方法とは逆に、欠損値があるデータがなくても予測に影響がない場合は、この処理方法が使われます。もしくは、数値に欠けが多く、補間したデータを使うと予測に影響を及ぼしてしまう場合にも使われます。

    外れ値の確認・処理

    「外れ値」とは、他の値から大きく外れた値のことです。他の値と比べて極端に大きな数値や、極端に小さな数値が外れ値にあたります。外れ値は、データを図に表すことで確認可能です。外れ値の確認には、「ヒストグラム」や「箱ひげ図」がよく用いられます。

    ヒストグラムとは、値の分布を表現したグラフのことです。設定した区間ごとに値の分布を棒グラフで表すことで、どの区間の値が多い・少ないかがわかります。ヒストグラムを使えば、中央値から大きく外れた値を見つけることが可能です。

    もう1つの箱ひげ図もヒストグラム同様、値の分布を把握する時に使われるグラフです。箱ひげ図では、データを大きい順に並べた際の分布がわかります。

    外れ値が発生する原因としては、「データ入力時のミス」と「偶然外れ値が生じた」場合の2つがあります。外れ値があった場合の処理方法は、大きく分けて3つです。

    • 正しい値に修正する
    • 行ごとまたは列ごと削除する
    • そのまま使用する
    正しい値に修正する

    1つ目の前処理方法は、正しい値に修正する方法です。
    データ入力時のミスによって生じている場合、正しい値に修正することで外れ値はなくなります。また、システムエラーなど外れ値の発生原因が明確な場合も、この方法で処理します。

    行ごとまたは列ごと削除する

    2つ目の前処理方法は、外れ値がある行もしくは列ごと削除する方法です。
    外れ値発生の原因がわからない場合や、原因はわかっていても値が極端に大きい・小さい場合は削除を検討します。値が極端に大きい・小さい値をそのままにすると、AIの予測精度にも影響が出てしまうため削除しましょう。

    そのまま使用する

    3つ目の前処理方法は、外れ値をそのまま使用する方法です。
    外れ値発生の原因がわかっていて、かつAIの予測に大きな影響が出ないと判断した場合は、そのまま使用します。そのまま使用するかどうかの判断は、全体に占める外れ値の数や、平均値と比べた外れ値の大小によって判断します。

    (2)スケーリング

    スケーリングとは、データの値を特定の範囲に変換する前処理方法の1つです。例えば、異なる単位のデータを比較する際に単位をそろえたり、データの値を同じスケールにそろえたりすることができます。よく使われるスケーリングの手法には、「Min-Maxスケーリング(正規化)」「Zスコアスケーリング(標準化)」「Robustスケーリング」などがあります。

    「Min-Maxスケーリング」は最小値0〜最大値1にスケーリングする方法、「Zスコアスケーリング」は平均0、分散1にスケーリングする方法です。Min-Maxスケーリングは、データの最小値と最大値の範囲が明確な場合に適した前処理方法で、大きな外れ値がある場合はZスコアスケーリングの方が適しています。

    「Robustスケーリング」は、データの中央値を0、四分位範囲を1として、それ以外の値を中央値を中心に四分位範囲の何倍かに変換する手法です。この手法は外れ値の影響を受けにくいため、データに外れ値が含まれる場合に適しています。

    これらのスケーリング手法を適切に使い分けることで、機械学習を効率的に行うことができます。

    (3)エンコーディング

    エンコーディングとは、テキストデータ(文字データ)を数値データに変換する前処理のことです。機械学習のアルゴリズムは数値データしか扱えないため、エンコーディングすることでAIが学習できるようデータを整形します。テキストデータはカテゴリカルデータとも呼ばれ、グループ分けできるテキストデータはカテゴリ変数と呼ばれます。

    カテゴリ変数にどのような数値を割り当てるかによってエンコーディングにも種類があるため、代表的な手法をご紹介します。

    ・Label Encoding:カテゴリ変数に応じた数値を割り当てる
    ・One-hot Encoding:カテゴリ変数ごとに特徴量を作ってTrue/Falseを割り当てる
    ・Count Encoding:カテゴリ変数の出現回数を割り当てる

    Label Encodingは、カテゴリ変数つまり属性の数だけ数値を割り当てる方法です。色を表すカテゴリ変数をエンコーディングする場合は、色の数だけ0、1、2、3…といった数値をテキストデータに割り当てます。白は0、黒は1、赤は2、といったイメージです。

    One-hot Encodingは、全てのデータを0と1に変換する方法です。男性なら0、女性なら1といったように、全ての属性を0と1を使って表します。One-hot Encodingは属性が2つ以上ある場合も利用できます。質問に当てはまる場合は1、当てはまらない場合は0として、カテゴリ変数を分類していきます。例えば血液型なら、「A型かどうか?」「B型かどうか?」といった質問を用意し、質問の数を増やすことで、全ての属性を0と1に変換していく手法です。

    (4)次元削減

    機械学習には、「特徴量」や「次元」といった用語があります。
    特徴量とは、機械学習データの中で予測や分類に有効な情報を示す変数のことをいいます。例えば犬の分類なら、体の大きさや目の大きさ、毛色などが特徴量です。これら特徴量の数を「次元」といいます。

    次元削減は、データの次元数を減らす前処理方法です。データ内の相関関係を見つけ、相関を最大化する新しい軸を定義することで、元のデータセットの次元を減らします。次元削減を行うことで、機械学習データを圧縮し、計算を効率化することが可能です。機械学習はデータが膨大になりやすいため、次元削減を行うことで学習を高速化し、計算時間を短縮できます。

    (5)特徴選択

    特徴選択とは、機械学習データの中から強い関連がある特徴を選択することをいいます。
    機械学習データの中に多数の特徴量がある場合、予測との関連が低い特徴量まで学習すると、予測精度が下がってしまいます。そのため、重要な特徴量だけを取り出して学習することで、予測精度の質を担保する前処理方法です。

    特徴選択には、「フィルター法」「ラッパー法」「埋め込み法」の3種類があります。「フィルター法」は、特徴量同士の相関関係を調べて、互いに独立している特徴量を選択する方法です。「ラッパー法」は、機械学習アルゴリズムと特徴量選択の両方を含めた方法で、特定の機械学習アルゴリズムを使って各特徴量の重要性を評価し、最適な特徴量の組み合わせを選択します。「埋め込み法」は、機械学習アルゴリズムの中に特徴量選択が組み込まれている方法で、学習中に特徴量を選択できます。

    特徴選択は、機械学習モデルの予測精度を上げるだけでなく、処理時間の短縮やデータの可視化にも役立ちます。ただし、重要な特徴量を除外すると機械学習モデルの予測精度が下がる可能性もあるため、慎重に選択する必要があります。

  • AIのデータ前処理なら「MatrixFlow」がおすすめ

    ここまで、AIを使った機械学習における、データ前処理の重要性と手順について解説してきました。
    膨大なデータの中から欠けを見つけて補ったり除外したりと、かなり細かな作業でしたね。
    AIを初めて実装する方にはハードルが高く感じられますが、実はデータ前処理を簡単に行う方法があります。
    それは、「MatrixFlow」を使ってデータを前処理する方法です。

    MatrixFlowとは?

    MatrixFlowとは、ビジネス向けのAI開発・活用プラットフォームです。

    AI開発にはプログラミングスキルが必須ですが、MatrixFlowはプログラミングなしでAIを開発できます。
    プログラミングしなくてもテンプレートを元にAIの機械学習モデルを構築できる他、ブラウザとデータだけで特別なツールが不要な点も大きな特徴です。

    MatrixFlowを使えば、売上予測や必要な在庫数の予測はもちろん、文章・テキスト内容の理解や分析などもできます。また、データの前処理もMatrixFlowを使ってできるため、時短になるだけでなく、AI開発未経験の方でも可能です。では、MatrixFlowでどのようにデータ前処理を行うのか、具体的な操作方法を見てみましょう。

    欠損値を変換・削除する方法

    必要なデータに数値の欠けがあった場合、任意の数値で欠損値を埋めることができます。管理画面上で「欠損値を変換する」という案内が出てくるため、埋める値を入力し、「変換する」をクリックするだけです。例として欠損値を「0」に変換した場合、このように一括で欠損値を任意の数値に変換できました。

    また、欠損値を含む行だけ一括削除することも可能です。Excel上で欠損値を見つけたり削除したりするのは一苦労ですが、MatrixFlowならボタン1つで前処理が完了します。

    テキストデータを数値に変換する方法

    必要なデータがテキストのみで数値になっていない場合も、MatrixFlowで数値変換することが可能です。
    テキストデータを数値に変換する場合、データを0か1で表現する「ダミー変数」に置き換える手法がよく使われます。ダミー変数を用いた前処理を、「One-Hotエンコーディング」と呼びます。

    例えばデータの中に性別の項目があった場合、ダミー変数を使って性別を0と1に置き換えるのです。女が0、男が1と設定した場合、1クリックで性別データが数値に置き換わりました。このように、文字のデータも任意の数字に一括で置き換え、前処理を正確に簡単に終えることが可能です。

  • AIのデータ前処理方法まとめ

    • AIにデータを機械学習させるには、データの加工・整形が必須
    • データを事前に加工することを「データ前処理」と呼ぶ
    • データ前処理には、データクレンジングやスケーリングなど様々な手法がある
    • 簡単にデータを前処理するなら「MatrixFlow」がおすすめ

    AI開発には、大きく分けて4つの開発工程がありました。「データ前処理」はその中の工程の1つです。文字通り、AIに機械学習させる前にデータを加工する工程のことを指します。

    加工前のデータは情報が不足していたり、形式が統一されていない場合がほとんどです。そのためデータ前処理では、不足している数値を補いエラーを取り除きます。これらを行うことで、データが整理されてAIが機械学習しやすくなります。

    AI開発工程の8割を占めると言われるほど時間のかかる工程ですが、「MatrixFlow」を使うことで時短が可能です。MatrixFlowはAI開発プラットフォームで、管理画面上で簡単にデータ前処理ができます。画面の案内にしたがうだけでデータ前処理ができるため、AI開発が初めての方にもおすすめです。

お問い合わせ

    氏名

    会社名

    会社メールアドレス

    つながりやすい電話番号

    お問い合わせ内容

    個人情報保護方針に同意の上送信します。



    プログラミングなしでAIを構築・AI需要予測の実施方法をはじめ、業界別のAI活用を掲載しています

    資料ダウンロード

    編集部Pickup記事

    関連した事例

    問い合わせ 資料請求