![見出し画像](https://assets.st-note.com/production/uploads/images/158813806/rectangle_large_type_2_6d82b85f5d8d367415b4b3881da35229.png?width=1200)
ノーコードAIツールで予測するたこ焼き屋さんの客層|第4回 作成した販売予測AIを改善する
こんにちは!ヒューマノーム研究所でインターンをしている佐藤です。
第1回の連載開始から、たこ焼きについての記事を続けてきたため、たこ焼きについて調べてみたのですが、たこ焼きって食べ方に地域差があるみたいですね。名古屋の方のたこ焼きは、醤油味だったりキャベツを入れるらしいですよ! 食べてみたいです。
今回で、たこ焼き屋の客層を予測する記事は4回目です。この連載では、たこ焼き屋の売り上げデータについて、当社が開発するHumanome CatData(以下CatData)を使って分析を進めてきました。
第1回では、天気と販売数や客層と販売数など、いろんなパターンの相関関係を見て、考察(妄想)をしました。データの詳細や傾向は、こちらの記事を参考にしてみてください。
第2回では、たこやきの販売数を予測するための学習用テーブルを作成し、学習する時にモデルが何を重要視しているのか確認しました。また、「解説 AIによるレクチャー」についても触れました。
第3回では、第二回で作成したAIモデルを使って、たこやきの販売数を予測しました。出来たモデルは実用性に欠けていることが分かりました。
シリーズをまとめ読みする場合は、下記URLをご覧ください。
今回は、前回の終わりでも触れた、AIの実用性の問題に対応していこうと思います。ねぎたこ焼きの販売数(n_negi)は、実際には事前に知ることができないので、”n_negi”データを削除して学習・予測を行い学習・予測をしていきます!
前回の終わりに、天気データに偏りがあるため、天気データをランダムにして学習・予測をすると説明しましたが、こちらは第5回に行います。
CatDataをつかうと、この連載でご紹介しているような、データの前処理・可視化・AIモデルの学習や予測などが、プログラムを書かずに行えます。ぜひお試しください。
1. 不要な項目を削除したデータで学習する
前回の最後に触れた通りお店側は、お客さんがたこ焼き(”n_takoyaki”)を買う時にネギたこ焼き(”n_negi”)も一緒に買うかどうかまでは分かりません。そこで、実際の現場と近い状況にするために”n_negi”を削除して、”n_takoyaki”のみで学習・予測を行います。
学習までの大まかな手順は以下のとおりです。
可視化テーブルにて、”ID”を”1〜1350”に設定し、この範囲を学習用のデータとする
”ID”、”sales”、”sales_takoyaki”、”sales_negi”、”n_pack”に加えて”n_negi”を削除
複製したのち、利用目的を「学習」にする
ここでテーブルの名前を「n_negi削除」と変えておきます。次回(第5回)で作成する天気データをランダム化したテーブルと、今回の”n_negi”のテーブルを区別するためです。テーブルの名前は「利用目的の選択」か「前処理:アクションセットの編集」から変更ができます(図1)。
![](https://assets.st-note.com/img/1729510490-dbzhcErQ8lJ6PMpTx7go4Atm.png?width=1200)
学習・予習の詳しい操作方法は第2回、第3回で行ったため、今回は省略します。
つぎに、モデルの新規作成にて、予測対象の列を”n_takoyaki”、手法を”Random Forest”に設定し、「学習開始」をクリックします。学習がおわったら、評価結果を確認します。今回は、学習データの精度が0.70751、テストデータの精度は0.71598となりました(図2)。
![](https://assets.st-note.com/img/1729511234-OIAVmS2G9DTfEXv4l517RhiQ.png?width=1200)
2. さきほど学習したAIモデルで予測する
学習が終わったモデルの精度を確認したので、このモデルをつかって以下の手順で予測を行います。
先ほど編集した可視化テーブルの”ID”を”1351~1800”に設定し、この範囲を予測用のデータとする
設定した範囲を複製し、利用目的を「予測」にする
「予測する値:n_takoyaki」に設定する
「n_negi削除」を選択し、予測を開始する
第3回で作成した”n_negi”が混在しているモデルの精度は0.77778でした。今回のモデルでは0.85333と精度が上がっていたことから、”n_negi”ありモデルよりも優れたモデルであると言えます。(図3)。
![](https://assets.st-note.com/img/1729511714-borvnBlFCt80y2MV16UEGAxQ.png?width=1200)
混同行列から、”n_takoyaki”はたこやきの購入数について、実際の購入個数にかかわらず、すべて「1」と予測していることが分かります。実際の購入数と予測数を比較すると、このモデルを使った予測を使ってしまうと、たこ焼きが64個足りなくなってしまうようです。現場では仕入数を考えるときに、判断材料にしにくそうですね。
今回のモデルは、ねぎたこ焼きが何個売れるのかをお店側が事前に把握することができないことを考慮して作成しました。”n_negi”は実際にお客さんが買うまでは、入力ができない(予測したい時点ではわからない)値であるため、実際の個数と比較すると差はあるものの、実際の現場では「”n_negi”あり」よりも「”n_negi”なし」のモデルの方が実用性が高いと言えるでしょう。
最後に
今回は”n_negi”を削除したデータでAIを作成し、その精度について検討しました。
第2・3回の時は、お客さんが買うまでねぎたこ焼きの個数が分からないということを見落としていました。第3回の記事を書いた後に、「そういえば、このデータって予測の時に使えないんじゃない?」と気づきました。すぐに思いつきそうな事なのに、意外と気づかないものなんですよね。このようなことが実際にモデルを作成していると、よく起こります。
みなさんも「このデータは予測する際に予め用意できるデータなのか?」「予測に必要な値を入力する時点では分からない値ではないか」など吟味してから、学習を行いましょう。そうすることで、AIを利用する際に、「このデータがないから予測できない」という状況を防ぐことができると思います。
第5回は、冒頭に書いた通り、天気データをランダムにして学習・予測を行います。利用するデータの偏りをなくすことで、より精度のよいモデルを作成することに挑戦しているので、ぜひ次回もご覧いただければと思います。
※ 筆者紹介
佐藤 美結(慶應義塾大学環境情報学部4年):クマムシの生態に興味があります。好きなものはポケモンです。機械学習、プログラミングを一昨年から学び始めました。
---
私たちは、ワークショップのTAや機械学習ツールの使い方の紹介記事を執筆しています。今後も、AI構築の実際についてご紹介していきますので、お読みいただけると嬉しいです!
データ解析・AI構築の初学者向け自習テキスト
表データを利用したAI学習テキスト(Humanome CatData)
画像・動画を利用したAI学習テキスト(Humanome Eyes)
AI・DX・データサイエンスについてのご質問・共同研究等についてはお気軽にお問い合わせ下さい!