総合情報サイト / AI活用事例・AI導入事例 / AI・機械学習で必ず必要なデータの前処理とは?簡単にできる加工方法をご紹介

AI・機械学習で必ず必要なデータの前処理とは?簡単にできる加工方法をご紹介

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

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

    AIを活用した機械学習を行うなら、データ前処理は避けては通れない工程の1つです。
    データ前処理とはどのようなものなのか、概要とその重要性を見ていきましょう。

    データ前処理とは

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

    • 要件定義
    • データ前処理
    • 学習モデルの作成
    • 実装

    1つ目の要件定義では、AIで実装する内容や進め方を決定します。解決したい課題から要求を洗い出し、最終的に実装すべき機能・内容を定める工程です。
    2つ目のデータ前処理では、AIに機械学習させる前にデータの集計・加工を行います。データに不足している値を補ったり、データのフォーマットを統一したりする作業です。
    3つ目の学習モデルの作成は、機械学習で入力したデータをどのように出力するか仕組みを決めます。
    4つ目の実装では、3つ目に作成した学習モデルを実際に運用し、求める結果が得られるまで再学習を行います。
    以上4つの工程を見ると、3つ目の学習モデルの作成・評価が重要に思えます。
    ですが、実際は学習させるデータをどのように加工するのかが最重要といっても過言ではありません。なぜ、これほどまでにデータ前処理は重要なのでしょうか。

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

    少し想像していただければわかりますが、必要な数値が完璧にそろったデータというのは珍しいです。
    多くのデータは必要な数値が抜けている(欠損している)場合がほとんどですし、データによってフォーマットが違うこともあります。
    数値に変換されていないテキストデータしかない場合も多々あります。この状態のままAIにデータを学習させても、エラーの発生、不十分な結果しか得られないケースが散見されます。
    これらを回避するために、データの前処理を行って事前にデータを整理しておく必要があるのです。
    AIはデータを元に結果を導き出すので、学習させるデータの形式、それが十分かどうかが最重要となります。
    データ前処理は、AIがスムーズに機械学習できるようデータを整える作業ともいえます。

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

    データ前処理と似たような言葉で、「データクレンジング」や「クレンジング」といった言葉を聞いたことはあるでしょうか。
    データクレンジングとは、データ前処理の中の1つの工程のことです。
    データ前処理には、「データクレンジング」「データの統合」「データの変換」という3つの工程があります。
    加工する前のデータのエラーやノイズを取り除くのが、データクレンジングです。
    データ前処理の中でも、データクレンジングの作業精度が最重要とされています。
    データクレンジングが終わったら、加工したデータを統合し、AIに学習させるフォーマットに変換してデータ前処理の完了です。

  • AIのデータ前処理方法・手順

    データ前処理には「データクレンジング」「データの統合」「データの変換」の3工程があると解説しました。
    ここでは、最初の工程である「データクレンジング」の処理手順について見ていきます。

    • 手順1.欠損値の確認・処理
    • 手順2.外れ値の確認・処理

    手順は大きく分けて2つあります。1つ目が「欠損値の確認・処理」、2つ目が「外れ値の確認・処理」です。
    それぞれの工程について解説していきます。

    手順1.欠損値の確認・処理

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

    • 平均値や最頻値などの値で補完する
    • 行ごとまたは列ごと除外する
    平均値や最頻値などの値で補完する

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

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

    対処法2つ目は、欠損値がある行もしくは列ごと除外する方法です。
    1つ目の対処法とは逆に、欠損値があるデータがなくても影響がない場合は、この対処法が使われます。
    または、数値に欠けが多く、補完したデータを使うと分析に影響を及ぼしてしまう場合は除外した方が良いと判断します。

    手順2.外れ値の確認・処理

    欠損値の確認・処理が完了したら、続いて外れ値の確認・処理を行います。
    外れ値とは、他の値から大きく外れた値のことです。他の値と比べて極端に大きな数値や、極端に小さい場合がこれにあたります。
    外れ値は、データを図に表すことで確認可能です。外れ値の確認には、「ヒストグラム」や「箱ひげ図」がよく用いられます。
    ヒストグラムとは、値の分布を表現したグラフのことです。
    設定した区間ごとに値の分布を棒グラフで表すことで、どの区間の値が多い・少ないかがわかります。
    ヒストグラムを使えば、中央値から大きく外れた値を見つけることが可能です。
    もう1つの箱ひげ図もヒストグラム同様、値の分布を把握する時に使われるグラフです。箱ひげ図では、データを大きい順に並べた際の分布がわかります。

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

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

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

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

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

    そのまま使用する

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

  • 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にデータを機械学習させるには、データの事前加工が必須
    • データの事前加工を「データ前処理」と呼ぶ
    • データ前処理は、「欠損値の確認・処理」と「外れ値の確認・処理」の2工程
    • 簡単にデータを前処理するなら「MatrixFlow」がおすすめ

    AIを使った機械学習には、大きく分けて4つの工程がありました。
    「データ前処理」はその中の1つの工程です。文字通り、AIに機械学習させる前にデータを加工する工程のことを指します。
    加工前のデータは、データが不足していたり、フォーマットが統一されていなかったりする場合がほとんどです。
    そのためデータ前処理では、不足している数値を補いエラーを取り除きます。
    これらを行うことで、データが整理されてAIが機械学習しやすくなります。
    全工程の8割を占めると言われるほど時間のかかる工程ですが、「MatrixFlow」を使うことで時短が可能です。
    MatrixFlowはAI活用のプラットフォームで、管理画面上で簡単にデータ前処理ができます。
    画面の案内にしたがうだけでデータ前処理ができるため、AI実装が初めての方にもおすすめです。

関連した事例