検索
ホームページバックエンド開発Python チュートリアルグラフ ニューラル ネットワークを使用した NBA プレーヤーの化学反応の予測

Predicting NBA Player Chemistry Using Graph Neural Networks

皆さんこんにちは、私の名前はsea_turt1eです。

この記事では、私が大好きなスポーツであるナショナル バスケットボール リーグ (NBA) の選手の相性を予測するための機械学習モデルを構築するプロセスと結果を共有します。

概要

  • グラフ ニューラル ネットワーク (GNN) を使用してプレーヤーの相性を予測します。
  • 曲線下面積 (AUC) が評価指標として使用されます。
  • 収束時の AUC は約 0.73 です。
  • トレーニングデータは1996-97シーズンから2021-22シーズンまでをカバーしており、テストには2022-23シーズンのデータが使用されています。

注: NBA について

NBA に詳しくない読者にとって、この記事の一部は理解しにくいかもしれません。 「化学反応」をより直感的に理解できます。さらに、この記事は NBA に焦点を当てていますが、この方法は他のスポーツや対人関係の予測にも適用できます。

化学反応予測結果

まず予測結果を見てみましょう。データセットと技術的な詳細については後ほど詳しく説明します。

辺と分数の説明

化学反応予測では、赤いエッジは良好な化学反応を示し、黒いエッジは中程度の化学反応を示し、青いエッジは悪い化学反応を示します。

横の分数は化学反応スコアを 0 から 1 の範囲で表します。

スター選手の化学予想

こちらはスター選手の相性予想です。グラフには、同じチームでプレーしたことのないプレーヤーのペアのみが含まれています。

Predicting NBA Player Chemistry Using Graph Neural Networks

一緒にプレーしたことのないスター選手の予想を見ると、結果が必ずしも直感的であるとは限りません。

例えば、レブロン・ジェームズとステフィン・カリーはオリンピックで素晴らしい連携を見せ、相性の良さを示しました。一方で、ニコラ・ヨキッチは意外にも他の選手との相性が悪いと予想されている。

2022-23シーズンの主要トレードの化学予測

予測を現実に近づけるために、2022-23シーズンの実際のトレードで選手間の相性をテストしました。

2022-23 シーズンのデータはトレーニング データに含まれていないため、現実的な印象と一致する予測はモデルの有効性を示すことができます。

2022-23シーズンにはいくつかの重要なトレードが行われます。

ケビン・デュラント、カイリー・アービング、八村塁などの主要選手の予想はこちら。

Predicting NBA Player Chemistry Using Graph Neural Networks

彼らの新しいチームの化学的予測は次のとおりです:

  • レイカーズ: 八村塁 – レブロン・ジェームス (レッドエッジ: 良い相性)
  • サンズ: ケビン・デュラント – クリス・ポール (ブラックサイド: 中程度の化学反応)
  • マーベリックス: カイリー・アービング – ルカ・ドンチッチ (青い面: 相性が悪い)

これらの結果は、2022-23 シーズンの動向を考慮するとかなり正確であるようです。 (ただし、翌シーズンのサンズとマーベリックスでは状況が変わりました。)

技術的な詳細

次に、GNN フレームワークやデータセットの準備などの技術的な側面について説明します。

GNN とは何ですか?

GNN (Graph Neural Network) は、グラフ構造のデータを処理するために設計されたネットワークです。

このモデルでは、「プレイヤー間の化学反応」がグラフのエッジとして表現され、学習プロセスは次のようになります。

  • ダイレクトサイド: アシスト数が多いプレーヤーのペア。
  • ネガティブサイド: アシスト数が少ないプレーヤーのペア。

ネガティブエッジの場合、モデルは「アシストの少ないチームメイト」を優先し、「異なるチームの選手」の影響力を弱めます。

AUCとは何ですか?

AUC (曲線下面積) は ROC 曲線の下の面積を指し、モデルのパフォーマンスを評価するための指標として使用されます。

AUC が 1 に近いほど、精度が高くなります。この研究では、モデルの AUC は約 0.73 で、平均より中程度から上の結果でした。

学習曲線と AUC の進捗

以下は、トレーニング プロセス中の学習曲線と AUC の進行状況です。

Predicting NBA Player Chemistry Using Graph Neural Networks

データセット

主な革新はデータセットの構築にあります。

相性を数値化すると、「高いアシスト」は良い相性を意味すると思います。この仮定に基づいて、データセットは次のように構造化されます:

  • 良い面: アシスト数が多い選手。
  • マイナス面: アシストの少ない選手。

さらに、アシスト数が少ないチームメイトは明らかに相性が悪いとみなされます。

コードの詳細

すべてのコードは GitHub で入手できます。

README の指示に従って、トレーニング プロセスを再現し、ここで説明されているグラフをプロットできるはずです。

https://www.php.cn/link/867079fcaff2dfddeb29ca1f27853ef7

今後の展望

まだ改善の余地があり、次の目標を達成する予定です:

  1. 化学反応の定義を拡張してください
    • プレイヤーの関係性をより正確に把握するために、アシスト以外の要素を組み込んでください。
  2. 精度の向上
    • より良いトレーニング方法と拡張されたデータセットを通じて AUC を改善します。
  3. 統合された自然言語処理
    • 選手のインタビューやソーシャルメディアの投稿を分析して、新たな視点を追加します。
  4. 英語で記事を書く
    • 世界中の幅広い視聴者にリーチできるよう、コンテンツを英語で公開します。
  5. グラフ視覚化のための GUI の開発
    • ユーザーがプレイヤーの化学反応をインタラクティブに探索できる Web アプリケーションを作成します。

結論

この記事では、NBA プレーヤーの相性を予測する私の試みについて説明します。

このモデルはまだ開発中ですが、さらなる改良を加えてよりエキサイティングな結果を達成したいと考えています。

ご意見やご提案をコメント欄に残していただければ幸いです。


さらに改善が必要な場合は、お知らせください。

以上がグラフ ニューラル ネットワークを使用した NBA プレーヤーの化学反応の予測の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Pythonの2つのリストを連結する代替品は何ですか?Pythonの2つのリストを連結する代替品は何ですか?May 09, 2025 am 12:16 AM

Pythonに2つのリストを接続する多くの方法があります。1。オペレーターを使用しますが、これはシンプルですが、大きなリストでは非効率的です。 2。効率的ですが、元のリストを変更する拡張メソッドを使用します。 3。=演算子を使用します。これは効率的で読み取り可能です。 4。itertools.chain関数を使用します。これはメモリ効率が高いが、追加のインポートが必要です。 5。リストの解析を使用します。これはエレガントですが、複雑すぎる場合があります。選択方法は、コードのコンテキストと要件に基づいている必要があります。

Python:2つのリストをマージする効率的な方法Python:2つのリストをマージする効率的な方法May 09, 2025 am 12:15 AM

Pythonリストをマージするには多くの方法があります。1。オペレーターを使用します。オペレーターは、シンプルですが、大きなリストではメモリ効率的ではありません。 2。効率的ですが、元のリストを変更する拡張メソッドを使用します。 3. Itertools.chainを使用します。これは、大規模なデータセットに適しています。 4.使用 *オペレーター、1つのコードで小規模から中型のリストをマージします。 5. numpy.concatenateを使用します。これは、パフォーマンス要件の高い大規模なデータセットとシナリオに適しています。 6.小さなリストに適したが、非効率的な追加方法を使用します。メソッドを選択するときは、リストのサイズとアプリケーションのシナリオを考慮する必要があります。

コンパイルされた通信言語:長所と短所コンパイルされた通信言語:長所と短所May 09, 2025 am 12:06 AM

compiledlanguagesOfferspeedandsecurity、foredlanguagesprovideeaseofuseandportability.1)compiledlanguageslikec arefasterandsecurebuthavelOnderdevelopmentsplat dependency.2)

Python:ループのために、そして最も完全なガイドPython:ループのために、そして最も完全なガイドMay 09, 2025 am 12:05 AM

Pythonでは、forループは反復可能なオブジェクトを通過するために使用され、条件が満たされたときに操作を繰り返し実行するためにしばらくループが使用されます。 1)ループの例:リストを通過し、要素を印刷します。 2)ループの例:正しいと推測するまで、数値ゲームを推測します。マスタリングサイクルの原則と最適化手法は、コードの効率と信頼性を向上させることができます。

Python concatenateリストを文字列に入れますPython concatenateリストを文字列に入れますMay 09, 2025 am 12:02 AM

リストを文字列に連結するには、PythonのJoin()メソッドを使用して最良の選択です。 1)join()メソッドを使用して、 '' .join(my_list)などのリスト要素を文字列に連結します。 2)数字を含むリストの場合、連結する前にマップ(str、数字)を文字列に変換します。 3) '、'などの複雑なフォーマットに発電機式を使用できます。 4)混合データ型を処理するときは、MAP(STR、Mixed_List)を使用して、すべての要素を文字列に変換できるようにします。 5)大規模なリストには、 '' .join(lage_li)を使用します

Pythonのハイブリッドアプローチ:コンピレーションと解釈を組み合わせたPythonのハイブリッドアプローチ:コンピレーションと解釈を組み合わせたMay 08, 2025 am 12:16 AM

pythonusesahybridapproach、コンコイリティレーショントビテコードと解釈を組み合わせて、コードコンピレッドフォームと非依存性bytecode.2)

Pythonの「for」と「while」ループの違いを学びますPythonの「for」と「while」ループの違いを学びますMay 08, 2025 am 12:11 AM

keydifferencesは、「for」と「while "loopsare:1)" for "for" loopsareideal forterating overencesonownowiterations、while2) "for" for "for" for "for" for "for" for "for" for for for for "wide" loopsarebetterunuinguntinunuinguntinisisisisisisisisisisisisisisisisisisisisisisisisisisisations.un

重複したPython Concatenateリスト重複したPython ConcatenateリストMay 08, 2025 am 12:09 AM

Pythonでは、さまざまな方法でリストを接続して重複要素を管理できます。1)オペレーターを使用するか、すべての重複要素を保持します。 2)セットに変換してから、リストに戻ってすべての重複要素を削除しますが、元の順序は失われます。 3)ループを使用するか、包含をリストしてセットを組み合わせて重複要素を削除し、元の順序を維持します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。