樸素貝葉斯預測英冠聯賽(比分、進球數)

上輪的英超聯賽預測的很不理想,這次選取的特徵向量多了一點點,但還遠遠不夠。為了能夠提高部分預測選項的準確性,這次‘分步’進行預測,選取具有共同點更多(矛盾性較小的)賽果。


整理近三個賽季的數據,並對數據進行清理和合並,最後保留數據完整的1440場比賽,如圖:

樸素貝葉斯預測英冠聯賽(比分、進球數)

清理併合並完成的數據框

在整個數據框中缺少總進球數、大小球等數據列,現在我們要進行添加,用於30輪英冠聯賽的預測做好y(標籤)。總進球數命名為TG(total_goals),這列數據很好添加,只需要主隊進球(FTHG)+客隊進球(FTAG),有了TG(總進球數),我們只需要使用lambda()即可確定大小球:matches['大小球'] = matches.apply(lambda r :1 if r['TG']>2.5 else 0,axis=1),大於2.5球表示為1,小於2.5球表示為0。小球755場,大球685場。

選取威廉、立博、365、Inter、Bwin為特徵向量,對標籤y(大小球)進行預測。先錄入第30輪聯賽的數據,賠率公司等

樸素貝葉斯預測英冠聯賽(比分、進球數)

30輪聯賽數據

樸素貝葉斯預測英冠聯賽(比分、進球數)

30輪聯賽數據框

整理數據,對大小球進行預測,結果見下圖:

樸素貝葉斯預測英冠聯賽(比分、進球數)

0小球,1大球

大小球的分佈和實際情況應該差不太多,比較接近1:1,博爾頓VS布爾斯托爾城小球概率稍高一些60%,阿斯頓維拉VS伯頓大球概率稍高一些,接近60%。

數據框中含有半場主隊進球(HTHG),客隊進球(HTAG),全場主隊進球(FTHG),客隊進球(FTAG),我們現在嘗試用五家賠率公司的數據去預測球隊的半場和全場進球數,來和大小球進行對比,更好的確定比分或是大小球。

全場博爾頓沒有進球的概率48%,全場一個進球38%,具體見下圖:

樸素貝葉斯預測英冠聯賽(比分、進球數)

全場主隊進球數概率圖

在預測客隊的全場進球數,伯頓沒有進球概率高達77.7%,布爾斯托爾城進兩球概率42.4%。

樸素貝葉斯預測英冠聯賽(比分、進球數)

全場客隊進球數概率圖

博爾頓VS布爾斯托爾城大概率比分0:2,利茲聯VS加迪夫大概率比分1:1,這個還需要結合競彩總進球數、比分賠率、本人的博彩習慣等進行篩選,預測結果可能會和實際賽果存在較大差距。



分享到:


相關文章: