天天看點

Python開發案例,pandas子產品使用,實作預測NBA比賽結果

前言

利用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版飛機大戰。

為了感謝讀者們,我想把我最近收藏的一些程式設計幹貨分享給大家,回饋每一個讀者,希望能幫到你們。

繼續閱讀