用Python機器學習模型預測世界盃結果靠譜嗎?

看到kaggle、medium上有不少人用球隊的歷史數據來進行建模預測,比如用到泊松分佈、決策樹、邏輯迴歸等算法,很大程度上能反映強者恆強的現象,比如巴西、英格蘭等大概率能進8強,就像高考模擬考試成績越好,大概率高考也會考得好。

這個和人腦的預測是類似的,建立在你看了足夠多的球賽,對每一個國家隊、球員、教練、打法等都瞭如指掌,你纔能有充分的判斷依據。而且你還不能帶有主觀的傾向,意大利球迷肯定篤定意大利能奪冠,但他們在預選賽就被淘汰了。

但是阿根廷輸沙特、德國輸日本這樣的黑天鵝事件,不管是AI還是人腦都是沒法預測的,否則真成預言者了。買阿根廷、德國贏的人其實是選擇了大概率事件,但並沒有發生,他們的決策其實是對的。

因爲世界盃比賽有很多變動因素,比如裁判規則、球員傷退、排兵佈陣,甚至當地環境、食宿也都會有影響,所以在進行AI預測的時候,需要有很多維度的數據進行綜合分析,單單從球隊的歷史成績來判斷,肯定是對準確率會有影響。

這其實是有貝葉斯定理的邏輯在裏面,大膽假設,小心求證。

說了一大堆,還沒講如何用AI來預測。我前幾天在kaggle看到過一個博主用了GBM梯度提升算法,它通過求損失函數在梯度方向下降的方法,層層改進。

大概描述下步驟:

1、數據準備。

該項目用了【FIFA 1992-2022世界排名】、【1872-2022國家隊比賽結果】兩個數據集。通過數據預處理對兩個數據源進行連接

2、特徵工程。

列出對預測比賽結果有影響的特徵字段,共37個。特徵選取主要根據歷史經驗、直覺判斷,比如過去的比賽積分、過去的進球和損失、比賽的重要性、球隊排名、團隊排名提升等等。

接着要對各個特徵進行相關性檢測,判斷對預測是否有幫助,如果沒有幫助的特徵則直接剔除。最後留下11個最重要的特徵,用來建模分析。

3、建立模型。

數據處理了,接下來是通過機器學習模型對數據進行訓練,然後得出預測結果。

這裏用了梯度提升和決策樹兩個算法,最終選recall最高的,博主測試後選擇了梯度提升算法。

算法具體使用操作方法如下:

4、預測世界盃比賽。

搭建好模型,就可以把世界比賽的對陣數據放到模型裏進行預測。最終算出來小組賽、十六強賽、八強賽、四強賽、總決賽的得分情況。

從目前看,預測結果其實還是複製歷史經驗,小組出線情況基本和世界排名情況一致,沒有超乎人的經驗範圍。對於黑馬、黑天鵝並沒有什麼預測能力。

其他預測結果就不一一展示了,哦,最後好像預測是巴西奪冠概率較大。

總之,AI預測世界盃其實是對歷史數據的歸納總結,而且完全依賴數據的餵養,能給出相對概率。

這和人的直覺一樣,你覺得巴西會奪冠,肯定有一些過往的事實驗證了你的直覺,不然就是瞎猜了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章