利用大數據分析預測MLB勝負(中)
在上一篇文章中,我們介紹作者如何分析MLB賽事,並找出影響比賽勝負較為重要的因子,而今天我們就來看看作者究竟是選擇了哪些模型進行訓練以及預測,並最終做出能夠預測MLB勝負高達61.77%準確度的模型吧!!
模型的建構與選擇
1.數據的分割
在機器學習中,我們通常需要將數據集分成三個部分,分別是
A.訓練集 : 模型學習所用
B.驗證集 : 模型調整參數所用
C.測試集 :模型最終測試結果所用
由於訓練集跟驗證集都是被模型所學習過的資料,因此我們須要特別分出一個測試集,以當作模型沒看過的數據,讓模型預測看看實戰的結果如何
2.模型訓練評估
在數據進行一系列的前處理以及分割後,我們接下來就是要讓模型進行數據的訓練,但究竟要選擇哪個模型比較好呢?答案是「無從考據」,我們只能盡可能拿取大量的模型進行訓練,因此作者在此利用了8個模型對MLB的數據進行訓練,該8個模型分別如下:
- Lasso (L1) penalty regularization(L1正規化)
- Ridge (L2) penalty regularization(L2正規化)
- Elastic net (L1+L2) penalty regularization(彈性網路正規化)
- K-Nearest Neighbors classifier(KNN)
- Decision tree classifier(決策樹)
- Random forest ensemble(隨機森林)
- XGBoost classifier
- Stochastic gradient descent classifier(隨機梯度下降)
而作者是利用「ROC中的AUC面積」及「brier分數」等評估方法來衡量究竟要選擇哪個模型當作最終的預測模型
3.最終模型選擇
在考慮了模型的準確度、複雜程度、解釋性等方向後,最終作者是選擇了「Elastic net (L1+L2) penalty regularization(彈性網路正規化)」當作最終的預測模型,不論在準確度(Accuracy)、Brier得分(越低越好)、AUC等評分都是最佳的結果,而且作者還利用了BSS(組間間距)來評估,BSS越大表示對分類的準確能力越高,而作者計算Elastic Net的BSS為0.5137,大於0表示預測能力優異
4.訓練週期挑選
在模型的訓練過程中,作者除了找到最佳的預測模型外,也發現如果我們只考慮前7場比賽的數據,在預測能力上能夠優於參考從上一賽季累計自今比賽的數據,且在賽季之初的預測能力也較優異
小結
今天我們介紹了該篇作者如何挑選訓練模型,以及為何選擇了Elastic net (L1+L2) penalty regularization(彈性網路正規化)模型當作最終預測模型,此外作者也發現了採用7天的訓練週期的預測能力最佳。但即便這些預測模型能得到多高的準確度,這都不代表他們真的能實際運用在運彩投注上,所以我們下一篇最終章將介紹究竟該模型在最新2021年MLB的賽事上能不能獲得不錯的獲利吧!!
下篇也已經寫出來囉,有興趣的可以去看看!!
終於等到第二篇,太精采了啦~~
--- 也發現如果我們只考慮前7場比賽的數據 -> 這個假設確實比使用上一球季的數據更合理。
開始敲碗了第三篇 :)
4/6/2022 11:53:26 PM