見出し画像

ノーコードAIツールで予測するたこ焼き屋さんの客層|第3回 作成した販売予測AIをつかう

こんにちは!ヒューマノーム研究所でインターンをしている佐藤です。
先日、初めて友達とお酒を飲みながらたこ焼きを食べました。お酒とたこやきって合いますね!ハマっちゃいそうです…。

この連載ではたこ焼き屋の売り上げデータについて、当社が開発するHumanome CatData(以下CatData)を使って分析しています。第1回では、「天気と購買数」や「客層と購買数」など、いろんなパターンの相関関係を見た考察(妄想)を、第2回では、たこやきの購入数を予測するAIを作成し、学習する時にAIが何を重要視しているのか確認しました。

CatDataをつかうと、この連載でご紹介しているような、データの前処理・可視化・AIモデルの学習や予測などが、プログラムを書かずに行えます。無料で大部分の機能が利用できますので、アカウントをお持ちでないようでしたら、ぜひお試しください!


予測用テーブルを準備する

さて、今回は第2回で作成したAIモデルを使って、下記の手順でたこ焼きの販売数を予測していきます。

  1. AIモデルの予測精度の評価に利用するデータ分割などの前処理を行う

  2. たこ焼きの販売数(n_takoyaki)を予測してみる

  3. たこ焼きの販売数予測AIの精度を評価する

「予測」と「評価」の詳しい内容については、以下の記事も合わせてご覧ください。

それでは、予測からAIモデルの評価までの流れを、CatData の操作画面の紹介とともにご紹介していきます。まず、たこやきの売上データAIから、モデルの予測精度を確認するための「予測テーブル」を作成します。

第2回でも触れましたが、もう一度、予測用テーブルのIDの範囲が“1351〜1800"であることを確認しましょう。また、テーブル一覧で、学習用のデータとして準備したテーブル「たこ焼き」を選択してください。

予測用テーブルの作成方法は以下の通りです(図1)。

  1. ”ID”をクリック

  2. ”ID”の範囲を”1351〜1800”に設定し、追加をクリック

  3. ”ID”の列のハンバーガーメニューをクリックし「削除」をクリック

  4. 適用ボタンをクリック

  5. 画面右上のプルダウンメニューから「複製して新規テーブルを作成」をクリック

  6. 自動的にホーム画面に戻る

  7. ホーム画面に遷移すると、新たにテーブルが作成されているので、それを選択する

  8. 「利用目的の選択」ボタン→「このテーブルの利用目的の選択」→「予測」と順番にクリックし保存しする

図1. 予測用テーブルの作成方法

CatDataの無料プランを利用されている場合は、テーブルを2個までしか作成できませんのでご注意ください。無料プランご利用時のテーブル利用方法についてはリンク先の記事をご参照ください。

AIを使って客層を予測する

利用目的を選択すると、「予測」のページに移動します。このページで以下の操作を行い、客層ごとのたこ焼き購入数を予測していきます(図2)。

  1. 「予測結果を比較・評価する」にチェック

  2.  予測する値を”n_takoyaki”に設定

  3. 「予測に使用するモデルを選択」で、「Copy from たこ焼き」をクリック

  4. 「予測の開始」をクリック

  5.  状態が「終了」になったことを確認し、「予測結果」をクリック

図2. 作成したAIモデルを利用した予測精度を評価するまでの手順

AIの精度を評価する

クリックして移動した画面では「予測結果」と「評価」を確認することができます。確認できる内容にについて順番に解説していきます!

「予測結果」ページでは、予測した結果がどれほど信頼できるのかを表すConfidence score(信頼度)や、モデルが予測した値(「Prediciton」という名前の列で追加されています)と実際の値を比較することができます。

Condidence score は「1」が最大となる数値で、数値が大きいほど信頼度の高いデータと言えます。Confidence score の大きい順にデータをソートする
と、信頼度の高いデータの内容をまとめて確認することができます(図3)。

図3. 今回予測したモデルのConfidence score

「評価」ページには、精度と混同行列が表示されています。

混同行列は、縦軸がAIモデルが予測した結果を、横軸が正解として与えられた内容を示すグラフです。予測した値がどのくらい当たっているのかを確認する事ができます(図4)。今回のデータでは、精度が0.77778と高くなく、データ450組中350組(322組+28組)については予測値と実際の値が一致しました。

図4. 今回予測したモデルの混同行列

詳しい混同行列の確認方法については、下記の記事をご覧ください。

予測結果の実際

今回の予測結果の概要は以下のとおりでした。

  1.   1個買うと予測し、実際に1個買ったというパターンが一番多かった

  2. 「予測では1個だったが実際には2個買った」が次点

  3. 「予測では2個だったが実際には1個しか買っていない」も多かった

また、実際にはたこ焼きを買ってない人たち(買った数が0個)は1組だったのですが、予測では28組いることになっています。このモデルの予測結果通りにたこ焼き484個分の具材を用意すると、実際には514個売れるため、想定よりも30個分の具材が足らない状態になってしまいます。

予測結果の考察

このモデルは現場では使いにくそうですね。その理由として、先ほどあげた想定より多くの具材が必要になる以外にも、以下の2点が考えられます。

まず、”n_negi”が説明変数(予測する際に利用する値)に入っていたことがあげられます。

お客様が普通のたこ焼きを買うとして、一緒にネギたこ焼きをいくつ買うのか、その個数は分かりません。このモデルで普通のたこ焼き予測するのであれば、事前にお客様がネギたこ焼きを買う個数を把握しておく必要があります。無理ですよね。このことから現場では使えない、と考えられます。

もう一点の理由として、学習テーブルには雨の日のデータが無く、予測テーブルには晴れの日のデータがなかった、という点が挙げられます。

今回の予測で使用したデータの「天気」の列を確認すると”sunny(晴れ)”→”cloudy(曇り)”→”rainy(雨)”の順で表示されており、天気の区分は3種類存在することが分かります。

今回は「晴れの日が多く占めているデータ」で学習したモデルを用いて、「晴れの日が無い」データを使って予測を行いました。そのため、学習用テーブル内のテストデータの精度である0.82249より、予測したデータの精度が0.05ほど低くなったと考えられます。

晴れの日しか入っていないデータで学習したモデルでは、雨の日の購買数を予測したい時には信頼して使いにくいですよね。

終わりに

今回は、”n_takoyaki”の予測をしていきました!

お客様がたこ焼きを買うときに、一緒にネギたこ焼きを買うのかという情報をお店側は知らないですよね。これでは、お客さんがネギたこ焼きをいくつ買うかを知るまで、予測することができません。

また、使用したデータは天気ごとにまとめられており、予測に使ったデータには天気が”cloudy(曇り)”の日と”rainy(雨)”の日のデータは含まれていましたが、”sunny(晴れ)”の日のデータは含まれていなかったため、”sunny(晴れ)”の日の予測がうまくいかないAIが作成されていることが想定されます。

これらの課題を踏まえて、次回の記事では天気をランダムにし、”n_negi”を削除したデータで学習・予測をしてみたいと思います!

※ 筆者紹介
佐藤 美結(慶應義塾大学環境情報学部4年):クマムシの生態に興味があります。好きなものはポケモンです。機械学習、プログラミングを一昨年から学び始めました。
---
私たちは、ワークショップのTAや機械学習ツールの使い方の紹介記事を執筆しています。今後も、AI構築の実際についてご紹介していきますので、お読みいただけると嬉しいです!

データ解析・AI構築の初学者向け自習テキスト

表データを利用したAI学習テキスト(Humanome CatData

画像・動画を利用したAI学習テキスト(Humanome Eyes


AI・DX・データサイエンスについてのご質問・共同研究等についてはお気軽にお問い合わせ下さい!


この記事が気に入ったらサポートをしてみませんか?