映画はヒットできるでしょうか?機械学習を使用して正確な予測を行う

映画はヒットできるでしょうか?機械学習を使用して正確な予測を行う

映画データベース (TMDB) は映画データ用の API を提供し、ユーザーはこのデータベースからデータをダウンロードできます。では、映画が公開される前にある程度の情報しか知らなくても、映画の評価や興行収入を予測できるのでしょうか? 良い映画やベストセラーの映画を最もよく予測できるパラメーターは何でしょうか? 出演者や俳優は映画の興行収入を予測するのに役立ちますか?

映画の 90% でランダムにモデルを構築し、残りの 10% でモデルをテストしました。これらのテストモデルムービーについては、次のとおりです。

  • 映画の興行収入を正確に予測するのは難しい。簡単に言えば、映画が公開される前にその映画に関するいくつかの事実を知るだけで、このモデル (R² = 0.77) は正確な予測を行うことができます。たとえば、映画スタジオは、特定の期間内に映画を公開するかどうかを事前に決定できます。
  • 映画の評価を予測するのはさらに困難です。おそらく、各映画の平均評価を予測するだけよりも良い結果が得られるでしょう (R² 値は 0.53 になります)。
  • デニー・カイラをご存知ですか?映画の評価を予測する際に、良い映画と悪い映画を区別する重要な要素は撮影クルーだと考えられており、良い評価を受けた映画と悪い評価を受けた映画の最大の違いです。映画の質に対しては、俳優よりも映画のスタッフのほうがずっと大きな影響力を持っています。
  • 何か面白いものを見つけました。以下に、高得点および高収益映画に最も関連のある俳優のリストを示します。

データ

データは適切にラベル付けされていますが、詳細になりすぎています。要約すると次のようになります。

  • 映画データベースは映画業界に基づいており、そのデータは一般から提供されているため、すべてのデータが実際に存在するわけではなく、完全に正確であるわけでもありません。たとえば、データベースには 900 を超える欠落した戻り値があります。
  • 映画のタイトルやホームページなどの役に立たない変数は無視されます。当然ながら、これらの変数は映画が成功するかどうかを予測するために使用することはできません。
  • いくつかの変数は、さまざまな理由により削除されました: (1) 制作国。この情報は制作会社に保管されているため。 (2) 原語。このセクションは、いくつかの例外を除いて、主に話されているため。 (3) 人気。これは、明らかに映画が公開された後に測定されるため。

入力として使用される変数は次のとおりです。

  • 予算
  • 件名リスト
  • リリース日 – 年と日に分割
  • 言語リスト
  • 実行時間
  • 制作会社一覧
  • キャスト
  • 撮影チームラインナップ
  • キーワード – ユーザーにプロンプ​​トを表示するキーワードのリスト。確かに、いくつかのキーワードは映画が公開されるまでは分からないが、それでは大した情報は分からない。代表的なキーワードとしては「小説を原作とする」が挙げられます。

予測モデルで使用される変数は次のとおりです。

  • ユーザー投票(IMDbの評価に似ていますが、この記事では「評価」と呼びます)
  • ユーザーが報告した興行収入(以下「興行収入」という)

データ準備

ソースリンク: https://github.com/rian-van-den-ander/explorations/tree/master/film_success/data_prep.py

問題1: 興行収入データが十分ではない

  • 収入ゼロの行、合計 900 行を削除しました。これは良くないことですが、収益ゼロの映画では興行収入を予測することはできません。
  • 興行収入をインフレに合わせて調整しました。当初は、これによって違いは生じないと考えていましたが、実際には R² 値が 0.02 向上しました。

質問 2: リリース日をどのように示すのですか?

  • 変数を特定の年と特定の日に分けることにしました。特定の年に分ける理由は、興行収入が世界の人口や社会パターンに確実に関連しているからです。特定の日に分ける理由は、映画の興行収入がクリスマスや夏休みなどの時期に公開されることに関係している可能性があるからです。これが機能するのは、年間の日付別に興行収入を予測することが、予測モデルの中で最も重要な上位 30 の変数に含まれているためです。

より大きな問題3: 多くはJSONリストである

  • 一部の列にはリストが組み込まれています。ジャンル、キーワード、制作会社、言語、キャスト、クルーのそれぞれは、実際にはジャンル、キーワードなどのリストです。私たちが知っている機械学習は、このデータを処理するようには設計されていません。
  • これらのリストをモデルに適合する列に変換するには、新しいライブラリを作成する必要があります。このプロセスは、カテゴリ特徴エンコーディングと呼ばれます。
  • これにより、新たな問題が発生しました。俳優、スタッフ、キーワードが多すぎて、コンピューターが処理できないのです。したがって、各入力列の値は制約される必要があります。これはモデルにとって良くありません。なぜなら、現在選択されているのは、最も一般的な俳優 500 人、最も影響力のある俳優 500 人、キーワード 100 個、映画スタジオ 100 社だけだからです。ただし、この問題は、ソリューションをクラウドでホストし、モデルのトレーニングにさらに労力を費やすか、より多くの忍耐力を費やすことで解決できます。

JSON アクター リストの行は次のようになります。

  1. [{"cast_id": 242, "character": "ジェイク・サリー", "credit_id": "5602a8a7c3a3685532001c9a", "gender": 2, "id": 65731, "name": "サム・ワーシントン", "order": 0}, {"cast_id": 3,
  2.  
  3. "character": "ネイティリ", "credit_id": "52fe48009251416c750ac9cb", "gender": 1, "id": 8691, "name": "ゾーイ・サルダナ", "order": 1}, ....

これらは、モデルに適した1と0を含むリストに変換されます。

モデルの成功の検証

モデルの成功を示すために、共通係数 r² を使用することを選択しました。これは、回帰問題に取り組むデータ サイエンティストのデフォルト オプションであり、著者のモデルが各映画の平均評価や興行収入を予測するよりもどれだけ優れているかを測る指標です。

  • モデルが選択された平均よりも悪い場合は負になります。値が負になるほど、モデルは悪くなります。
  • モデルが各映画の平均評価または興行収入のみを選択した場合、この値はゼロになります。
  • モデルが選択肢の平均よりも優れている場合は正の値になり、最良のモデルの場合は「1」になります。

もちろん、ある時点で、解決策が十分に優れている場合は、測定を中止してそれを採用することができます。これは解決する問題によって異なりますが、一般的には次のようになります。

  • 0.6 ~ 0.9 はより優れたモデルを示します。
  • 上記の点のいずれかが完璧すぎると、現実的ではなくなり、不公平な変数入力や過剰適合の問題が発生します。たとえば、最初のモデル実行で誤って行数を含めてしまいましたが、データが収益で並べ替えられていたため、モデルは興行収入をほぼ完璧に予測しました。
  • 0~0.6 は、少なくとも一部の平均データが選択されているが、モデルを使用して重要なビジネス上の意思決定を行うには不十分である可能性があることを意味します。

映画の評価予測

ソースリンク:

https://github.com/rian-van-den-ander/explorations/blob/master/film_success/film_rating_with_cast_best_regressor.py

モデル選択のために、XGBoost 回帰関数を使用してハイパーパラメータ グリッド検索を実行し、データを実行しました。グリッド検索では、ランダム フォレスト リグレッサーや非常に優れたパフォーマンスを発揮するニューラル ネットワークなど、他のいくつかのライブラリを試しました。グリッド検索は XGBoost 回帰分析のパフォーマンスを大幅に向上させるため、速度と精度の両方の点で強く推奨されます。

もちろん、映画のメタデータだけに基づいて映画の評価を正確に予測するのは、少し夢物語です。なぜなら、脚本の質や、俳優(ジョニー・デップなど)が最も得意とする役柄であるかどうかなど、メタデータでは確認できない変数がたくさんあるからです。

つまり、得られた最良のモデル結果は r²=0.53 でした。機械学習の基準では、これは問題ありません。モデルは平均評価の分散の 53% 以上を説明しました。言い換えれば、このモデルは多くの変数を除外しますが、それでもほとんどの映画が平均よりも優れているか劣っているかを明確に予測します。

興味深いことに、グラフには即時の結果が表示されます。より正確に予測するには、モデルを歪ませる必要があります。

映画の評価と最も相関関係にある変数は何ですか?

XGBoost ライブラリの出力は、予測におけるパフォーマンス (入力変数) の重要性を示します。モデル自体が完璧な予測を行うわけではないことを考えると、これはあまり重要ではないと言わざるを得ません。ただし、出力には非常に明確な点が示されています。

ここでは、入力変数のうち約 200 個のみが重要であることがわかります。残りは基本的にアルゴリズムによって削除されます。将来的には、より優れたコンピューターを使用して、より多くの入力変数 (撮影チームとキャスト) を選択し、事前分析を実行して、映画の評価と相関関係のない変数を選別するだけで済みます。

テキスト形式では、映画の評価に最も関連する変数は次のとおりです。

免責事項: 人々がこれらの単語のいくつか(ホラー、ティーン)を選択して使用する可能性があるため、評価に悪影響を与える可能性があります。アルゴリズムは、予測子に最も大きな影響を与える変数のみを出力します。

  1. ('ドラマ', 0.02771771)('映画上映時間', 0.017870583) - !('ホラー', 0.015099976)('アニメーション', 0.010213515)('ジョン・ラセター', 0.0099559575) - ピクサーの名声('ファミリー', 0.009091541)('コメディ', 0.009024642)('ハーヴェイ・ワインスタイン', 0.009003568)('ウーピー・ゴールドバーグ', 0.008995796) - ?!('ビル・マーレイ', 0.008862046)('アクション', 0.008832617)('ドキュメンタリー', 0.008824027)('Morgan Creek Productions', 0.008456202)('Franchise Pictures', 0.008374982)('Hans Zimmer', 0.008047262)('DreamWorks Animation', 0.007945064)('Hospital', 0.007892966)('Janet Hirshenson', 0.007849025)('Jason Friedberg', 0.007827318)('en', 0.0077783377) - 英語の映画('Teenager', 0.0077319876)

映画収益予測 - より簡単な作業

ソースリンク: https://github.com/rian-van-den-ander/explorations/blob/master/film_success/film_revenue_with_cast_best_regressor.py

予想どおり、次の要素を考慮すると、これははるかに簡単な作業です。

  • 映画の予算は、その映画がヒットするかどうかの良い指標となる可能性が高い。
  • 最も興行収入の高い映画の多くはスーパーヒーロー映画です。

前の方法と同様に、この予測モデルの R² は 0.77 です。言い換えれば、映画が公開される前の入力に基づいて、非常に優れた収益予測モデルを構築できるということです。これは現実世界にも影響を及ぼします。例えば、映画館ではこれを利用すれば、映画をどのくらいの時間上映したいかを事前に予測することができます。

これは私たちの評価予測よりもはるかに良いようです。確かに外れ値はありますが、予測ラインの上下にほぼ均等に配置されています。

映画の収益と最も相関関係にある変数は何ですか?

この変数のリストは驚くべきものではありません。ただし、同じ免責事項が適用されます。変数はリターンにマイナスの影響を与える可能性があり、モデルは完璧ではありません。しかし、このリストは予算と収入の間に密接な関係があることを裏付けています。結局のところ、投資に対する見返りがないのなら、なぜ映画を作る人がいるのでしょうか?

当然のことながら、ピクサー・アニメーション・スタジオのスーパーヒーロー映画は、この点で強い存在感を示しており、キーワード、スタジオ、ジャンル、クルーのすべてがリストの上位にランクされています。驚いたことに、予算よりも制作プロデューサーのデニー・カイラの方が重要だった。どうやら彼は映画業界の有名人らしいです!

  1. ( 'Denny Caira'、0.037734445)(「映画の予算」、0.03122561)(「アドベンチャー」、0.025690554)(「James Cameron」、0.024247296)(「Pixar Animation Studios」、0.022682142 318095)( 'Terry Claborn'、0.01921264)( 'John Williams'、0.015954955)( '3d'、0.014985539)( 'Animation'、0.013459805) 0.012793044)('ファンタジー', 0.012175937)('グウェンドリン・イェーツ・ホイットル', 0.011877648)('ルーカスフィルム', 0.011471849)('クリストファー・リー', 0.011401703)('スーパーヒーロー', 0.010956859)('ジム・カミングス', 0.010577998)('ジョン・ラセター', 0.010427481)('ドラマ', 0.010378849)

給料:俳優が最も関連している

ソースリンク:

https://github.com/rian-van-den-ander/explorations/blob/master/film_success/film_actors_to_ratings.py

収益によって変動する金額。

注: この問題では、アルゴリズムに大規模なキャストを含め、クルーと予算などの他の変数は考慮しませんでした。これは俳優と成功した映画との関係についての純粋な議論です。このため、ここでの変数のリストは上記とまったく同じではありません。

映画の評価と最も相関関係にある俳優は誰でしょうか?

  1. (「ロバート・デュバル」、0.011352766) - ゴッドファーザーの名声(「モーガン・フリーマン」、0.010981469)(「スカーレット・ヨハンソン」、0.010919917)(「ポール・ジアマッティ」、0.0108840475) ( 'Harrison Ford'、0.0112257)( 'Leonardo Dicaprio'、0.010015999)( 'Mark Ruffalo'、0.009964598)( 'Matthew Lillard'、0.00989507)( 'ian Holm'、0.009870403)( 'Timthyスポール'、0.009850885)('フィリップ・シーモア・ホフマン'、0.009718503)('レイチェル・マクアダムス'、0.00953982)('エミリー・ワトソン'、0.009512347)('アラン・リックマン'、0.009455477)('キーラ・ナイトレイ'、0.009296855)('エディ・マーサン'、0.009277014)('スタン・リー'、0.0092619965)('エマ・トンプソン'、0.009148427)('エドワード・ノートン'、0.00904271)

映画収入と最も相関関係にある俳優は誰ですか?

どうやら、スタン・リーは映画製作者を裕福にはしないようだ。彼はマーベル映画ばかりやっています。以下のリストは、映画を大ヒットさせた俳優を示すのではなく、俳優と高収益映画(通常はスーパーヒーロー映画)との相関関係を示しています。

  1. ( 'Stan Lee'、0.04299625)(「Hugo Weaving」、0.030377517) - 「アンダーソン氏は不可避の音です。それは利益の音です035)( 'Gary Oldman'、0.018401919)( 'Geoffrey Rush'、0.018003061)( 'Christopher Lee'、0.017147299)( 'Robbie Coltrane'、0.015522939)( 'Ian McKellen'、0.015420574)( 'Timothyスポール'、0.0151223475)('ゾーイ・サルダナ'、0.014832611)('ステラン・スカルスガルド'、0.014798376)('マギー・スミス'、0.014290353)('ウィル・スミス'、0.01418642)('トム・クルーズ'、0.013842676)('ジェレミー・レナー'、0.013476725)('アラン・テュディック'、0.013410641)('ジュディ・デンチ'、0.01316438)('レオナルド・ディカプリオ'、0.01244637)('リーアム・ニーソン'、0.012093888)

撮影チーム

当初、モデルを構築したとき、撮影クルーのプロフィールは作成していませんでした。これは大きな見落としです。モデルに上位 200 人のプロデューサー、脚本家、監督のみを含めると、興行収入予測 R² が 0.68 から 0.77 に向上します。

さらに印象的なのは、タイプ変数を 1 つ追加するだけで、評価予測 R² が 0.19 から 0.53 に向上することです。映画制作スタッフは、映画の評価予測において 30% 以上の差異を説明できます。

改善の余地あり

このアプローチは完璧ではなく、近道をすることで多くの有用なデータが破棄されます。特にモデルのスコア予測を改善するために最適なソリューションを見つけたい場合は、次の質問を検討してください。

  • 俳優、キーワード、主題に関するすべてのデータを考慮します。これにはより多くの処理能力が必要になりますが、モデルが多くの外れ値、特に単なる興行収入マシン以上の謎の俳優や監督を選ぶのに役立つ可能性があります。
  • モデルをトレーニングする: モデルのハイパーパラメータを調整して予測スコアを再調整すると、予測精度がわずかに向上します。
  • 明らかに無関係な変数を除外するには、PCA または LDA を使用します。
  • より適切なパラメータを選択し、より厳密なパラメータ グリッドで XGBoost モデルを実行します。
  • この問題の深刻さを考えると、ニューラル ネットワーク ソリューションを検討する必要があります。

<<:  フェムテック:女性が期待できること

>>:  顔認識の背後にあるセキュリティリスクを誰が負担するのでしょうか?

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

人工知能は何ができるのでしょうか?今日はそれを総合的に見ていきましょう。

電子廃棄物[[277263]]環境の持続可能性のために AI と IoT を活用すると、現在の環境保...

畳み込みニューラルネットワークにおける自己注意メカニズムの理解

導入コンピューター ビジョンにおけるエンコーダー/デコーダー アーキテクチャの制限とそれを改善する方...

...

ゲームAIの課題が進み、リアルタイム戦略ゲームや不完全情報ゲームがホットスポットに

前回の 2 つの記事では、ゲーム AI の歴史におけるいくつかの古典的なアルゴリズムと画期的なイベン...

ABCの中でビッグデータが最初に遅れをとる理由

[[211451]]人工知能 (AI)、ビッグデータ、クラウドコンピューティングは、今日のインターネ...

...

顔認識技術が「無人小売」時代の到来を牽引

序文:顔認識は現在最も人気のある人工知能技術として、生産と生活のあらゆる側面で広く使用されています。...

Java ME での衝突検出アルゴリズムの実装

Java ME ゲーム開発では、衝突検出アルゴリズムを実装する必要があることがよくあります。たとえば...

AI、機械学習、ディープラーニングの違いは何ですか?

人工知能 (AI) は未来だと言う人もいれば、AI は SF だと言う人もいれば、AI は私たちの日...

中国がSORAをいかにして複製したかを、中国のチームが長文の記事で解説! 996 OpenAI研究者:SoraはビデオGPT-2の瞬間です

現在、この写真は AI コミュニティで広く流布されています。さまざまな文化ビデオ モデルの誕生時期、...

なぜ人工知能はテクノロジーの未来なのか?

人類の知恵はさまざまな文明を生み出してきました。人間の知能はさまざまな形態の人工知能を通じて強化する...

マイクロソフトアジアリサーチは、知識蒸留を使用して小さなViTを改善するTinyMIMを提案

1. 研究の動機マスクモデリング (MIM、MAE) は、非常に効果的な自己教師ありトレーニング方法...

米商務省の新規制:承認なしに中国とセキュリティの脆弱性を共有することを禁止、マイクロソフトの異議は無効

最近、米国商務省産業安全保障局(BIS)は、サイバーセキュリティ分野に関する最新の輸出管理規制を正式...