# 世界杯足彩怎么买划算？机器学习AI告诉你答案(含预测)

## 引言

1、足彩靠服务费赚钱，选择的场次不存在假球因素

2、你的资金规模足以支撑长期买足彩

1）赔率陷阱

2）赌徒谬误陷阱

## 足彩赔率推导及返还率推导

(W-1) * 1 * P - 1* (1-P) = 0

W-1 为盈利， 1为输的时候的亏损。那么 求解方程 P = 1/W  , 同理 平的概率是  1/D ， 客胜的概率是  1/L   ，加起来是100%

## 定义问题，特征选取，数据抓取

绕了一大圈，其实简单来说，我们要做的就是自行计算胜平负的概率，然后套用EV公式看根据赔率投注是否划算。

# coding=utf-8
import urllib.parse
import urllib.request
import gzip
from bs4 import BeautifulSoup

class Game:
def __str__(self):
return '%s,%s,%s,%s,%s,%s,%s,%s,%s' %(self.race,self.turn,self.time,self.host,self.guest,self.rate_w,self.rate_tie,self.rate_lose,self.rate_back)

def getHtml(url,values):
user_agent='Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36'
data = urllib.parse.urlencode(values)
#压缩过的数据，一般不需要unzip 视具体网页决定
html = gzip.decompress(response_result)
html = html.decode('gbk')
return html
#return ""

#获取数据
def requestOdds(index):
print('向足彩数据网站请求数据')
url = 'http://odds.500.com/#!league=%5B40%2C109%2C352%5D'
value= {
}
result = getHtml(url,value)
return result

if __name__ == '__main__':
print("start parse")
text = requestOdds(1)
soup = BeautifulSoup(text, 'html.parser')
items = soup.find_all('tr', attrs={'': ''}, limit=1000)
size = 15
for item in items:
#print(item)
tds = item.find_all('td')
games = []
#只抓世界杯比赛
if len(tds)>=size and tds[1].string=='世界杯':
game = Game()
game.race = tds[1].string
game.turn = tds[2].string
game.time = tds[3].string
game.host = tds[4].string
game.guest = tds[6].string
game.rate_w = tds[11].string
game.rate_tie = tds[12].string
game.rate_lose = tds[13].string
game.rate_back= tds[14].string
games.append(game)

## 模型建立，程序回测，预测胜率

from numpy import *
def sigmoid(inX):
return 1.0/(1+exp(-inX))

m,n = shape(dataMatrix)
weights = ones(n)   #initialize to all ones
for j in range(numIter):
dataIndex = list(range(m))
for i in range(m):
alpha = 4/(1.0+j+i)+0.0001    #apha decreases with iteration, does not
randIndex = int(random.uniform(0,len(dataIndex)))#go to 0 because of the constant
h = sigmoid(sum(dataMatrix[randIndex]*weights))
error = classLabels[randIndex] - h
weights = weights + alpha * error * dataMatrix[randIndex]
del(dataIndex[randIndex])
return weights

<!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #cef5d7} span.s1 {font-variant-ligatures: no-common-ligatures} --><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #cef5d7} span.s1 {font-variant-ligatures: no-common-ligatures} -->

5、结论及展望

综上，我们看球预测时，需要较精确地估算出一个胜率，然后看足彩给的赔率是否合适，如果 胜率> 1/赔率，则适合下注，是个正EV的游戏。而不是十分肯定地说某某队会赢，毕竟庄家都不敢这么预测。如何估算胜率？我们可以选择一些特征值，进行线性回归，确定特征值对应的系数，然后预测下场比赛的赛果。

https://zhuanlan.zhihu.com/p/26929562

64 篇文章38 人订阅

0 条评论

## 相关文章

821

37316

743

3086

1354

851

### Richard S. Sutton经典图书：《强化学习导论》第二版（附PDF下载）

【导读】Richard S. Sutton就职于iCORE大学计算机科学系，是强化学习领域的专家，其在强化学习领域的著作“Reinforcement Learn...

1.1K10

1122

1K5

### 【干货|如何打开黑盒子模型？】41页最新机器学习可解释模型综述论文，143篇参考文献，2300次下载

【导读】最近一期的计算机顶级期刊ACM Computing Surveys (CSUR)出版，包含了来自意大利比萨大学的研究人员发布的一篇构建机器学习可解释性综...

1595