利用大數據分析預測MLB勝負(中)



本文作者:koer3741

瀏覽次數:969

建立時間:4/6/2022 9:29:44 AM

修改時間:10/17/2023 3:25:22 AM

回文次數:1

                在上一篇文章中,我們介紹作者如何分析MLB賽事,並找出影響比賽勝負較為重要的因子,而今天我們就來看看作者究竟是選擇了哪些模型進行訓練以及預測,並最終做出能夠預測MLB勝負高達61.77%準確度的模型吧!!

模型的建構與選擇

1.數據的分割

在機器學習中,我們通常需要將數據集分成三個部分,分別是

A.訓練集 : 模型學習所用

B.驗證集 : 模型調整參數所用

C.測試集 :模型最終測試結果所用

                由於訓練集跟驗證集都是被模型所學習過的資料,因此我們須要特別分出一個測試集,以當作模型沒看過的數據,讓模型預測看看實戰的結果如何

2.模型訓練評估

在數據進行一系列的前處理以及分割後,我們接下來就是要讓模型進行數據的訓練,但究竟要選擇哪個模型比較好呢?答案是「無從考據」,我們只能盡可能拿取大量的模型進行訓練,因此作者在此利用了8個模型對MLB的數據進行訓練,該8個模型分別如下:

  1. Lasso (L1) penalty regularization(L1正規化)
  2. Ridge (L2) penalty regularization(L2正規化)
  3. Elastic net (L1+L2) penalty regularization(彈性網路正規化)
  4. K-Nearest Neighbors classifier(KNN)
  5. Decision tree classifier(決策樹)
  6. Random forest ensemble(隨機森林)
  7. XGBoost classifier
  8. Stochastic gradient descent classifier(隨機梯度下降)

而作者是利用「ROC中的AUC面積」及「brier分數」等評估方法來衡量究竟要選擇哪個模型當作最終的預測模型

3.最終模型選擇

在考慮了模型的準確度、複雜程度、解釋性等方向後,最終作者是選擇了「Elastic net (L1+L2) penalty regularization(彈性網路正規化)」當作最終的預測模型,不論在準確度(Accuracy)Brier得分(越低越好)AUC等評分都是最佳的結果,而且作者還利用了BSS(組間間距)來評估,BSS越大表示對分類的準確能力越高,而作者計算Elastic NetBSS0.5137,大於0表示預測能力優異

4.訓練週期挑選

在模型的訓練過程中,作者除了找到最佳的預測模型外,也發現如果我們只考慮7場比賽的數據,在預測能力上能夠優於參考從上一賽季累計自今比賽的數據,且在賽季之初的預測能力也較優異

小結

         今天我們介紹了該篇作者如何挑選訓練模型,以及為何選擇了Elastic net (L1+L2) penalty regularization(彈性網路正規化)模型當作最終預測模型,此外作者也發現了採用7天的訓練週期的預測能力最佳。但即便這些預測模型能得到多高的準確度,這都不代表他們真的能實際運用在運彩投注上,所以我們下一篇最終章將介紹究竟該模型在最新2021MLB的賽事上能不能獲得不錯的獲利吧!!

下篇也已經寫出來囉,有興趣的可以去看看!!

利用大數據分析預測MLB勝負(上)

利用大數據分析預測MLB勝負(下)



終於等到第二篇,太精采了啦~~

--- 也發現如果我們只考慮7場比賽的數據 -> 這個假設確實比使用上一球季的數據更合理。

開始敲碗了第三篇 :)

Guess365
4/6/2022 11:53:26 PM