おはこんばんにちは。
久しぶりの投稿です。
途中、英語学習の一環として、市販の参考書に掲載されている英文の白文を公開する記事を投稿していました。
しかし、著作権のことを考えて、該当する記事は削除しました。
これからは、自分で作ったものや、その制作過程を投稿していこうと思います。
AIに関連するプログラムを作りたい
ほぼ1年前にAIについて勉強していたのに、AIに関する成果物をほとんど作れていないことに気づきました。
gutatcharabiryu.hatenablog.com
そこで、「AIに関連するプログラムを作ってみようではないか」と思い立ちました。
今回の題材は「昼食の推薦と予測」です。
まずは機械学習を使わず、入力した条件をもとにお店を選ぶ単純推薦から作ってみます。
昼食の記録をCSVに保存する
私専用のシステムになりますが、まずは次のような昼食データを用意しました。
・日付
・店名
・価格
・好み
・満足度
ここでいう満足度は、好みとは少し違い、満腹感や腹持ちに近い指標です。

2026年7月から記録を始めたため、まだデータ量はそれほど多くありません。
今後、実際に昼食を食べるたびに、このCSVへ記録を追加していく予定です。
店舗ごとの統計情報を出力する
最初に、記録した昼食データを店舗ごとに集計するプログラムを作りました。
同じお店の記録をまとめ、次の情報を出力します。
・最後に行った日
・行った回数
・合計価格
・好みの合計
・満足度の合計
・平均価格
・平均の好み
・平均の満足度
集計結果は、合計データと平均データの2種類のCSVファイルとして出力します。


これだけでも、自分がどのお店に何回行ったのか、どれくらい昼食代を使っているのかが分かります。
なかなか面白いデータになりましたね。
面白いと思っているのは私だけかもしれませんが(笑)
価格・好み・満足度を点数化する
続いて、店舗ごとの平均データを使って、お店を推薦するプログラムを作りました。
ただし、価格・好み・満足度は、そのままでは単位も数値の範囲も異なります。
そこで、それぞれを0から1までの点数に変換しました。
価格については安いお店ほど高得点にし、好みと満足度については評価が高いお店ほど高得点にします。
価格・好み・満足度のうち、どれを重視するかは、その日の気分によって変わります。
そこで、実行時にそれぞれの重みを入力できるようにしました。
例えば、次のように指定します。
・価格:50%
・好み:40%
・満足度:10%

そして、推薦点が最も高かったお店を画面に表示します。

これで、価格・好み・満足度の重みを自分で指定し、その条件に合ったお店を推薦するプログラムが完成しました。
この段階では、AIや機械学習が自動的に判断しているわけではありません。
あらかじめ決めた計算式に従って、最も点数の高いお店を選ぶルールベースの推薦です。
それでも、自分で記録したデータから実際にお店が推薦されると、なかなか面白いものがあります。
CSVの読み込みや書き出し、同じ店の集計、値の正規化、重み付け、画面入力など、Pythonの練習としてもよい題材になりました。
次は、過去の曜日と直前に行ったお店を特徴量として、今日行きそうなお店を機械学習で予測してみます。
最後まで読んでくださりありがとうございます。








