新商品の評価予測 ~シリアルの評価予測AIをもとに~
こんにちは。MatrixFlow広報部の新居です。
今回はMatrixFlowを使って、シリアルの評価を予測するAIを作っていきます。
AIを作るといっても、MatrixFlowを使えばプログラミングをする必要はありません。
ノンプログラミングで、商品の栄養素やカロリーなどから評価を予測をしていきます。
このAIは、食品メーカーなどの新商品の評価予測や評価にをもとにした売上の予測に活用することができます。
では、早速AIを作っていきましょう。
◆データの用意◆
まず、AIが学習に必要とするデータを用意します。
今回使用するデータはここからダウンロードすることができます。
ダウンロードをしたデータの項目は英語で表示されているので、わかりやすくするために、日本語に変更します。それぞれのデータを以下のような項目名に変更します。
・name → シリアルの製品名
・mfr → メーカー
・type → タイプ(コールドかホットか)
・calories → カロリー
・protein → タンパク質 (g)
・fat → 脂肪 (g)
・sodium → ナトリウム (mg)
・fiber → 食物繊維(g)
・carbo → 炭水化物 (g)
・sugar → 砂糖 (g)
・potass → カリウム (mg)
・vitamins → ビタミン (%)
・shelf → 陳列棚
・weight → 重さ (オンス)
・cups → カップ数
・rating → 評価
データに含まれている要素は、シリアルの製品名や各栄養素の量、評価のデータなどです。
このデータを基にシリアルの評価予測をするAIを作っていきます。
◆MatrixFlowの操作◆
ここからは、MatrixFlowを用いてAIを作っていきます。
MatrixFlowの操作方法を順番に紹介していくので、一緒に操作していきましょう。
<プロジェクトの作成>
まず、MatrixFlowにここからログインしましょう。
ログインができれば、プロジェクトを作成していきます。
プロジェクトの作成は、プロジェクト一覧のページの「新規プロジェクトを作成する」をクリックします。
「テンプレートを使用してAIを構築する」または「自分でAIを構築する」のどちらかを選択する画面が表示されるので、「自分でAIを構築する」を選択します。
プロジェクト名とプロジェクトの説明を入力して、プロジェクトの作成は完了です。
<データアップロード>
次にデータのアップロードを行います。
ここでは、「ファイルをアップロード」という方法で、上記でダウンロードしたファイルをドラッグ&ドロップします。
下の画像のようにファイル名と詳細が表示されれば、データセット名とデータセット説明を入力して、「データセットをアップロードする」をクリックしましょう。
これでデータセットのアップロードは完了です。
<予測する列の選択>
AIで予測する列を選択する画面が表示されます。
今回はシリアルの評価を予測したいので、「評価」を選択し、「予測する列を決定する」をクリックしましょう。
これで予測する列の選択ができました。
<データの前処理>
次にデータの前処理を行っていきます。
前処理を行うことで、データをMatrixFlowで使用できるデータに整形することができます。
データの列を確認していくと、下の画像のように赤文字になっている列があることがわかります。
赤文字の列にポインターを持ってくると、グラフのマークが表示され、「前処理内容の変更」をすることができます。
グラフのマークをクリックすると列の詳細が表示されます。
赤文字になっている「欠損値を変換する」をクリックしましょう。
欠損値の数が「1」になっています。欠損値とは、データが埋まっていない空欄のセルのことです。
機械学習では欠損値があると不具合が生じる可能性があるので、欠損値を削除する必要があります。
「欠損値を変換する」から「欠損値を埋める」をクリックすると、「欠損値を含む行を削除する」という選択をすることができるので、ここから欠損値の削除を行いましょう。
欠損値を削除すれば、欠損値のエラー表示がなくなりました。
「列の詳細」の隣の左矢印を選択し、前処理の画面に戻ります。そこから全ての赤文字の列に対して、同じ操作を行います。
次にAIの性能をより高めるためにメーカーを数値化します。
シリアルのメーカーのグラフをクリックし、「数値に変換する」を選択します。
ここでは「One-Hotエンコーディング」を選択して、製品名を数値化します。
全ての処理が終われば、「前処理を完了する」をクリックしましょう。
「名前」と「説明」の入力を行い、前処理をしたデータセットを保存します。
<レシピ>
ここからはAIの設計図を作っていきます。
MatrixFlowではAIの設計図を「レシピ」と呼んでいます。レシピを選択する画面に推移すれば、「新規レシピを作成する」をクリックします。
今回は自動構築AIのAutoMLから「AutoFlow(オートフロー)」のみを使います。
「AutoFlow (オートフロー)」は、MatrixFlowが自動でデータの傾向を学習し、精度の高いアルゴリズムとパラメータを設定して、AIを構築してくれる機能です。
AutoFlowを設置エリアにドラッグ&ドロップし、右側のパラメーターの中の種類を「回帰」にします。
そして、AutoFlowのブロックを最初からある「データの入り口」と「精度評価」のブロックと繋ぎます。
ブロック同士の繋ぎ方は、ブロックにポインターを合わせて、ピンクの丸から繋ぎたいブロックまで引っ張るだけです。
「データの入り口」→「AutoFlow」→「精度評価」の3つを繋げることができれば、「レシピを保存する」をクリックします。
レシピの「名前」と「説明」を入力して、レシピの作成は終了です。
<AIの学習>
レシピができれば、AIの学習を実行します。
学習ページでは学習に使用する列を選択します。
今回は、すべての項目のチェックボックスにチェックを入れれば、選択完了です。これで、AIの学習準備は整いました。
「学習を実行する」をクリックして、AIの学習を開始させましょう。
AIの学習が完了すると、結果が表示されます。
結果を確認すると、テストデータ精度 (R2) が1.0と表示されました。
テストデータ精度 (R2) は、AIの予測結果と実際の数値の乖離がどれだけあるかを示します。正確に予測できるAIのテストデータ精度 (R2) は0.7~0.9と言われています。
重要度が高い列を確認すると、食物繊維、カロリー、炭水化物の順番で評価に影響を与えることがわかりました。
重要度をクリックし、「表示する説明変数」を「食物繊維」に設定すると、食物繊維の量と食物繊維の影響度をみることができます。
ここから食物繊維は2.2gを境目に多ければ多いほどプラスの評価に繋がり、少ないとマイナスの評価になることがわかります。
2つ目に重要度の高いカロリーを「表示する説明変数」にしてみます。
カロリーは約105カロリーを境目に、カロリーが低いほど評価が高くなる傾向があります。
このように他の列に関しても、「重要度」のページから各項目と評価の関係性を確認することができます。
結果が確認できれば、AIを保存します。
「学習済みのAIを保存する」をクリックして、AIを保存しましょう。
<推論>
実際にこのAIが他のシリアルの評価した場合、どのようなことがわかるのかをみていきましょう。
AIの学習が終わると、「このAIを使って推論をする」をクリックしましょう。
推論のページでは、AIの学習では使わなかったシリアルのデータセットをアップロードします。
推論の種類は「回帰」を選び、「推論を実行する」をクリックしましょう。
推論の結果から8番目のシリアルが最も評価が高いことがわかります。
詳細を見てみると、「カロリー」が評価にプラスの影響を与えている一方で、「炭水化物」がマイナスの影響になっています。
この結果から、より評価を上げるためには炭水化物の量を調整するとよいということがわかります。
このように過去のデータから、新商品の評価予測や開発時点での改良点を考えることができるようになります。
◆まとめ◆
今回のAIの分析により、シリアルの栄養素やカロリーから評価が予測できることがわかりました。
データさえあれば、新商品の評価や商品の評価からの売上予測が簡単にMatrixFlowでできるようになります。
ぜひ、身近なデータを用いてMatrixFlowを活用してみてください!
MatrixFlowでは一緒に世界を変えるAIプラットフォームを作る仲間を募集しています!!
【会社概要】
株式会社MatrixFlowは、「テクノロジーで世界をつくる」をミッションとするAIベンチャーです。大人から子供、ビジネスマンから学生、デザイナーからサイエンティストに至るまで、様々な人々がAIを活用し、素晴らしい着想を得たり、あっと言わせるクールな活動をすることを支援したいと考えています。その実現に向けた第一歩として、プログラミング不要のクラウド型AI構築プラットフォーム「MatrixFlow」を開発しております。また、様々な会社でのAI活用を推進するためにAIの受託開発・コンサルティング事業も行っております。
【会社情報】
設立 :2018年10月
本社 :東京都台東区
URL:https://www.matrixflow.net/
事業内容:ビジネスのためのAI活用プラットフォーム「MatrixFlow」の運営、および、AIの受託開発・コンサルティング
【お問い合わせ先】
E-mail:support@matrixflow.jp
窓口:MatrixFlowカスタマーサポート