利用Python第三方庫實現預測NBA比賽結果
主要思路
(1)數據選取
獲取數據的鏈接為:
https://www.basketball-reference.com/
獲取的數據內容為:
每支隊伍平均每場比賽的表現統計;
每支隊伍的對手平均每場比賽的表現統計;
綜合統計數據;
2016-2017年NBA常規賽以及季後賽的每場比賽的比賽數據;
2017-2018年NBA的常規賽以及季後賽的比賽安排。
(2)建模思路
主要利用數據內容的前四項來評估球隊的戰鬥力。
利用數據內容的第五項也就是比賽安排來預測每場比賽的獲勝隊伍。
利用方式為:
數據內容的前三項以及根據數據內容的第四項計算的Elo等級分作為每支隊伍的特征向量。
Elo等級分介紹(相關文件中有):
為方便起見,假設獲勝方提高的Elo等級分與失敗方降低的Elo等級分數值相等。
另外,為瞭體現主場優勢,主場隊伍的Elo等級分在原有基礎上增加100。
(3)代碼流程
數據初始化;
計算每支隊伍的Elo等級分(初始值1600);
基於數據內容前三項和Elo等級分建立2016-2017年常規賽和季後賽中每場比賽的數據集;
使用sklearn中的LogisticRegression函數建立回歸模型;
利用訓練好的模型對17-18年常規賽和季後賽的比賽結果進行預測;
將預測結果保存到17-18Result.CSV文件中。
開發工具
**Python版本:**3.5.4
相關模塊:
pandas模塊、numpy模塊、sklearn模塊以及一些Python自帶的模塊。
環境搭建
安裝Python並添加到環境變量,pip安裝需要的相關模塊即可。
使用演示
在cmd窗口運行Analysis_NBA_Data.py文件即可:
結果:
代碼參考https://www.jb51.net/article/215291.htm
到此這篇關於利用Python實現預測NBA比賽結果的文章就介紹到這瞭,更多相關Python預測NBA比賽結果內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python 機器學習工具包SKlearn的安裝與使用
- 最強Python可視化繪圖庫Plotly詳解用法
- 簡單且有用的Python數據分析和機器學習代碼
- python sklearn與pandas實現缺失值數據預處理流程詳解
- 利用Python的pandas數據處理包將寬表變成窄表