AIモデルを作成するためにはいくつかのステップがあります。AIモデル作成と言うと、複雑なアルゴリズムを駆使したエンジニアリングがAIモデル作成で一番大変なことのような気がします。ですが、実際にはAIモデル作成において最も時間がかかるのはデータの前処理です。全体の作業のうち、7~8割はデータの前処理に費やされるのがよくあるケースです。
今日はそんな地味なように思えてその実とても重要なデータの前処理について紹介します。
AIモデル作成の流れ
AIモデル作成の流れは大きく4ステップにわかれます。

- 要件定義
- データの前処理
- モデル作成・評価
- 予測実行
要件定義は、ビジネス課題を把握しAIで行う予測の内容や、予測結果の運用方法を決めるフェーズです。AI検討は多くの場合リソースを使うプロジェクトになるため、ここでKPIレベルまで詰めているかいないかは成否を大きく左右するポイントになります。
データの前処理では、AIで利用するデータを準備し、アルゴリズムがデータを処理できるようにするためにデータクレンジングを行います。前処理を行わないと、そもそもAIモデルの作成が行えません。データの前処理は「やったほうがよいもの」ではなく、「やらないと一歩も前に進めないもの」です。
モデル作成・評価では、前処理を行ったデータを元にやりたいことに照らし合わせてアルゴリズムを選択し、モデル作成を行っていきます。モデル作成は1回だけで完成となることはほぼなく、何回も学習を繰り返し行うことで精度を高めていくものです。
予測実行では、完成したモデルに対して予測したいデータを投入し予測を行っていきます。予測結果を元にビジネス課題解決のための施策を実行していきます。
これがAIモデル作成の一連の流れです。どれひとつとして欠けてしまっては上手くいかないものです。その中でも特に時間を取られるのがデータの前処理です。時間にすると7~8割はデータの前処理に費やされるのが一般的です。またこれは個人の感想ですが、それほど楽しい作業でもないので余計に長く感じます。
なぜ前処理を行わなくてはならないのか
一言で表現するとAIが食べられる形に加工する必要があるためです。
AIで使用するデータには、テキスト、音声、画像など様々なデータがあります。音声や画像のデータはそのままのデータ形式ですと、AIが利用することができないため、AIが利用できるように変換してあげる必要があります。またテキストの場合でも、異常値や欠損値が見られるほうが一般的です。こういったデータはきれいにクリーリングしなければなりません。
さらに使用したいデータは1つのまとまりをもったデータとして置かれているわけではなく、バラバラになっていることがほとんどです。AIが利用できるように加工した上で、ひとつのデータとしてまとめる必要もあります。
AIにとってのデータは食材のようなものです。生の肉や野菜をそのまま食べることはできません。切ったり煮たりした上でしっかりと味付けをすることで美味しく食べられるようになります。AIに美味しくデータを食べてもらうためには食材の加工は必須です。

前処理の具体的なイメージ
次にAIが美味しく食べられる加工はどのようなものなのかを実際に見ていきます。たとえば商品の購買記録のデータを分析したいとします。下記のようなデータです。
顧客ID | 性別 | 居住地 | 購入商品 |
1111 | 女性 | 東京都 | 商品A |
2222 | 大阪府 | 商品B | |
3333 | 男性 | 北海道 | 商品C |
このデータでは顧客ID以外のデータが日本語になっています。このままではAIがデータを処理できないので、データを数値化していきます。また顧客ID2222の性別は欠損値になっています。欠損値は欠損値として処理できるようにルールを作って補完する必要もあります。
これらの点を踏まえた上で前処理を行うとこのようなデータになります。
顧客ID | 性別 | 居住地 | 購入商品A | 購入商品B | 購入商品C |
1111 | 1 | 19 | 1 | 0 | 0 |
2222 | 2 | 35 | 0 | 1 | 0 |
3333 | 0 | 1 | 0 | 0 | 1 |
すべてのデータを数値化しています。性別については男性を0、女性を1、不明(欠損値)を2としています。居住地は北海道から沖縄まで番号を割り振ったものです。購入商品については購買したものを1、購買していないものを0としています。
このデータはシンプルな例であり、実際にデータ分析で処理するデータはもっと情報量が多く、また行数も数万、数十万といったオーダーになります。加えてこの例では欠損が少しあるだけのデータでしたが、実際のデータでは重複削除や正則化といった処理も必要になってきます。
このようなデータは当然Excelでは処理できないため、各種ツールを使用して処理していきます。そのためデータの前処理を行うだけでもスキルを持った人材が必要です。
結論
AIモデル作成におけるデータの前処理について簡単に解説させていただきました。以上の内容をまとめます。
- AIモデル作成においてデータの前処理は極めて重要で、モデルの精度を大きく左右する
- データの前処理はやったほうがよいものではなく、絶対にやらないといけないもの
- データの前処理はモデル作成の作業工程の内、7~8割の時間を費やす作業である
- 作業には専門スキルが必要
AI活用を考えていらっしゃる方はぜひ参考にしてみてください。ちなみにAIサービスの中にはこの面倒な処理を自動で行ってくれるものも存在しています。データの前処理が面倒、リソースが足りない、人材がいない、という企業であれば前処理を行ってくれるサービスの活用はオススメです。
コグニロボ株式会社の「COGNRIOBO Cloud(コグニロボクラウド)」ではデータの前処理、モデル作成、予測実行までを一気通貫して行うことができます。ぜひお気軽にご相談ください。