W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
本文轉(zhuǎn)載至知乎ID:Charles(白露未晞)知乎個(gè)人專欄
下載W3Cschool手機(jī)App,0基礎(chǔ)隨時(shí)隨地學(xué)編程>>戳此了解
利用Python簡單地預(yù)測(cè)一下NBA比賽結(jié)果。。。
這大概就叫蹭熱度吧。。。
畢竟貌似今天朋友圈都在刷NBA相關(guān)的內(nèi)容。。。
雖然我并不能看懂。。。
但這并不妨礙我瞎預(yù)測(cè)一波。。。
So,
以下內(nèi)容純屬瞎玩,如有雷同,算我倒霉。。。
NBA忠實(shí)球迷請(qǐng)自動(dòng)忽略不好結(jié)果。。。
網(wǎng)盤下載鏈接: https://pan.baidu.com/s/1EwdkonbYY54AxnIgqx9yYA
密碼: 1n93
(1)數(shù)據(jù)選取
獲取數(shù)據(jù)的鏈接為:
https://www.basketball-reference.com/
獲取的數(shù)據(jù)內(nèi)容為:
每支隊(duì)伍平均每場(chǎng)比賽的表現(xiàn)統(tǒng)計(jì);
每支隊(duì)伍的對(duì)手平均每場(chǎng)比賽的表現(xiàn)統(tǒng)計(jì);
綜合統(tǒng)計(jì)數(shù)據(jù);
2016-2017年NBA常規(guī)賽以及季后賽的每場(chǎng)比賽的比賽數(shù)據(jù);
2017-2018年NBA的常規(guī)賽以及季后賽的比賽安排。
(2)建模思路
主要利用數(shù)據(jù)內(nèi)容的前四項(xiàng)來評(píng)估球隊(duì)的戰(zhàn)斗力。
利用數(shù)據(jù)內(nèi)容的第五項(xiàng)也就是比賽安排來預(yù)測(cè)每場(chǎng)比賽的獲勝隊(duì)伍。
利用方式為:
數(shù)據(jù)內(nèi)容的前三項(xiàng)以及根據(jù)數(shù)據(jù)內(nèi)容的第四項(xiàng)計(jì)算的Elo等級(jí)分作為每支隊(duì)伍的特征向量。
Elo等級(jí)分介紹(相關(guān)文件中有):
為方便起見,假設(shè)獲勝方提高的Elo等級(jí)分與失敗方降低的Elo等級(jí)分?jǐn)?shù)值相等。
另外,為了體現(xiàn)主場(chǎng)優(yōu)勢(shì),主場(chǎng)隊(duì)伍的Elo等級(jí)分在原有基礎(chǔ)上增加100。
(3)代碼流程
數(shù)據(jù)初始化;
計(jì)算每支隊(duì)伍的Elo等級(jí)分(初始值1600);
基于數(shù)據(jù)內(nèi)容前三項(xiàng)和Elo等級(jí)分建立2016-2017年常規(guī)賽和季后賽中每場(chǎng)比賽的數(shù)據(jù)集;
使用sklearn中的LogisticRegression函數(shù)建立回歸模型;
利用訓(xùn)練好的模型對(duì)17-18年常規(guī)賽和季后賽的比賽結(jié)果進(jìn)行預(yù)測(cè);
將預(yù)測(cè)結(jié)果保存到17-18Result.CSV文件中。
Python版本:3.5.4
相關(guān)模塊:pandas模塊、numpy模塊、sklearn模塊以及一些Python自帶的模塊。
環(huán)境搭建
安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。
在cmd窗口運(yùn)行Analysis_NBA_Data.py文件即可:
結(jié)果:
文章的初衷是為了讓公眾號(hào)推送的關(guān)于Python的小項(xiàng)目涉及的應(yīng)用領(lǐng)域更加豐富多彩。從而激發(fā)部分Python初學(xué)者的學(xué)習(xí)熱情,僅此而已。
這篇文章的技術(shù)含量并不高,模型簡單,數(shù)據(jù)處理方式也比較隨意。。。
可以優(yōu)化的地方大概包括:
增加訓(xùn)練數(shù)據(jù)(如多利用幾年數(shù)據(jù));
優(yōu)化訓(xùn)練模型(如sklearn中其他機(jī)器學(xué)習(xí)方法或者利用深度學(xué)習(xí)框架搭建相應(yīng)的網(wǎng)絡(luò)進(jìn)行模型訓(xùn)練)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: