前言
利用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檔案即可:
結果:
文章到這裡就結束了,感謝你的觀看,Python爬蟲案例系列,下篇文章AI且mini版飛機大戰。
為了感謝讀者們,我想把我最近收藏的一些程式設計幹貨分享給大家,回饋每一個讀者,希望能幫到你們。