初学者のためのプログラミング学習サイト予測モデル食べログの星裁判問題を考えてみる・予測モデルを添えて2022年06月25日カテゴリ:プログラミングPython先日、食べログ関係の裁判結果がニュースになっていたので気になって調べちゃいました。解説動画はこちらさて、最近こんな判決がニュースになっていました。東京地裁は16日グルメサイト「食べログ」の運営会社カカクコムに対し3840万円の損害賠償金の支払いを命じる判決を出した。気になってしまったので二年前に作った食べログの星を予測するモデルを引っ張り出してきました。当時の記事はこちらさて、データも昔のデータが有ったのでそのまま流用してモデル作成です。3.3くらいに落ち着くような結果を出すモデルになります。大きく外れますがまあ、誤差でしょう・・・。これを踏まえて今回の裁判を起こした側のお店のデータを取ってこのモデルにかけてみました。すると平均で0.18最大0.4ほどずれる結果となりました。予測よりも実測が全体的に低くなる結果となりました。予測モデルの検証では誤差が少ないものが最頻値でしたが、この店舗のデータだと結構外れていますね。ここからは個人的な推測になりますがこの問題は一方的な意見のみを見るべきではないと思っています。採点アルゴリズムというのはいわば企業秘密であり秘伝のタレもようなものですコーラの元みたいな。他者に教える事は出来ないものであるのでいわば生命線となります。これにいちゃもんつけて来た訳になるのでこの際は白黒はっきりしてもらいたい訳です。この手のアルゴリズムには不正防止の観点から有る程度の秘匿性を持って運営を行う必要があります。攻略できてしまったら不正に点を釣り上げようとすることも出来てしまう訳なので。いうわけで一方的に食べログが悪いという判断はできません。考えられる事象としては・何らかの理由で故意に下げた・不正の排除の結果下がったというのが可能性としてあるのかなと思います。おいしいお店はおいしく採点されるべきだしおいしくないお店は低くなっていないとおかしいです。最優先に守るべきは使うユーザー側の利益です。裁判ではこの点を白黒はっきりしてもらいたいですね。今後もおもしろくなっていきそうです。今回はこれまでですそれでは。食べログの星の予測モデルを作ってみた!!2019年10月27日カテゴリ:Python機械学習さて、今回は機械学習のお話です。一応なんちゃってMLエンジニアなのでねwwwwwww食べログさんのお店をデータ化したら星の予測モデルが作れました。解説動画はこちら以前の動画では食べログ分布というものについて触れました。前回の記事はこちら食べログ分布は有るのか今回は実際に星を予測するモデルを作っていきましょう。いった機械学習を用いた予測モデルを作成するにはまずはデータが必要です。こちらはみなさん頑張って集めてみて下さい!!!!!データとしてはこんなデータです。コメント数、ブックマーク数や価格コメントを残した人の星の平均などです。予測をするのは「星」のデータとなります。予測モデルの作成に使用したコードは次のようなコードになります。print()少しづつみていきましょう。データを読み込みします。pd.read_csv()でCSVファイルを読み込みしてデータフレームに変換できます。このデータはすでに「前処理」と呼ばれる機械学習用のデータに整形する工程を終えたデータで全て数値型のデータになっています。次に訓練用とテスト用のデータに分けます。train_test_splitを用いると簡単に振り分けることができるので楽です。今回は3割テスト、残りを訓練用としました。モデルは今回は自分がよく使っている決定木,ランダムフォレスト,LightGBM,XGBoostこちらの4種類を使っていきます。y_train)これだけで済んでしまいます。機械学習と言ってもコードはたったこれだけなんですよね・・・モデルの作成が終わったら次はテストデータで予測を行いその精度を検証します。model.predict(x_test)予測もたったこれ1行だけで済んでしまいます。あとはこの結果からどれだけ誤差が出たのかを見て精度を図ります。誤差を見るのにMAERMSEを使います。今回はざっくり検証なのでどれだけ誤差が出たのかだけを見ることとします。0.11181978441280738MAEはどんだけ誤差が出たかを平均したものです。MAE0.083なら+-0.083くらいはズレます。実際の星が3.5だとして大体予測が3.4-3.6くらいになるだろうというモデルができました。今回一番良かったものはLightGBMですね。誤差を可視化してみましょう。平均で0.083ズレですが大きいところでは0.36くらいはズレてますね誤差の累積だと80%くらいで0.15以内には収まりそうな感じですね。予測の精度としてはまあまあなんじゃないでしょうかこれが仕事ならクロスバリデーションしたりパラメータいじったり元々の特徴量作る集計の見直しなどまだまだやること有ります。すればもう少し精度は上がるでしょうがざっくり検証なのでこれまでです。このデータのうちでどれが一番予測に寄与しているでしょうか?寄与度を出してみました。昼価格低こんな感じでした。コメント数やブックマークの数コメントした人の星の平均点ディナー価格などが関係しているようです。実際の星の計算はもう少し複雑な計算方法で違うものでは有ると思いますが近い形の星を算出できたと思います、これで、ブラックボックスであった星の計算方法に少し近づいたんじゃないかなーと思います。食べログに掲載されているお店さんで点数を上げたければここら辺がポイントになるのではと思ってはおりますが・・・このデータにはお店側が食べログ側にお金を支払っているかどうかというデータが含まれておりません。実はお金を支払っていないから星が下がったということも考えられなくは無いので実際の予測にはこの情報が不可欠です。どなたかこのフラグ値お持ちでは無いでしょうかwwwwwwww今回はここまでですそれでは。CodeWhispererで爆速コーディングコーディングに迷った際に役に立ちWEB検索する時間を無くして作業時間を効率化できます。