世界杯足彩怎么买划算?机器学习AI告诉你答案(含预测)
本文首发于InfoQ公众号头条。

引言
概率赔率基本知识
足彩赔率推导及返还率推导
定义问题,特征选取,数据抓取
# 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'
headers = {'User-Agent':user_agent}
data = urllib.parse.urlencode(values)
response_result = urllib.request.urlopen(url+'?'+data).read()
#压缩过的数据,一般不需要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)) def stocGradAscent1(dataMatrix, classLabels, numIter=500):
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
足球的迷人地方,包含了韩国对德国这个超大冷门,我们的程序预测韩国胜率几乎为0。。。
用这个模型预测28日及以后的8场比赛, 步长改为更小,到时看看是否能达到72%的胜率:
日 本 VS 波 兰,0
塞内加 VS 哥伦比,0
英格兰 VS 比利时,0.95
巴拿马 VS 突尼斯,0.001
法 国 VS 阿根廷,0
乌拉圭 VS 葡萄牙,0.869032
俄罗斯 VS 西班牙,0.001
克罗地 VS 丹 麦,0.77
爆冷让人心慌?如何让「下注」稳赚不赔?https://mp.weixin.qq.com/s/baftxbdQQKTP-SEutM4uhw
世界杯足彩怎么买划算?机器学习AI告诉你答案(含预测)的更多相关文章
- 零起点PYTHON足彩大数据与机器学习实盘分析
零起点PYTHON足彩大数据与机器学习实盘分析 第1章 足彩与数据分析 1 1.1 “阿尔法狗”与足彩 1 1.2 案例1-1:可怕的英国足球 3 1.3 关于足彩的几个误区 7 1.4 足彩·大事件 ...
- zw版足彩大数据&报价
zw版足彩大数据&报价 ::zw增强版足彩大数据,文件名后缀是'.dat' ::文件格式是标准文本格式,逗号分隔 ::zw增强版,在标准版赔率基础上,增加了倒数.比率两组归一化数据 ::zw版 ...
- [TJOI2007] 足彩投注
足彩投注 题目概述 题目背景 了解足球彩票的人可能知道,足球彩票中有一种游戏叫做"胜负彩",意为猜比赛的胜负.下面是一些与胜负彩有关的术语 注 :每一组有效组合数据. 投 注:彩民 ...
- 人工智能和机器学习 AI&ML howto
我关心的AI.ML的分支领域: 我的博客:Deep Learning 和 Knowledge Graph howto (有关DL&KG的资料都在这里) https://www.cnblogs. ...
- 机器学习 AI 谷歌ML Kit 与苹果Core ML
概述 移动端所说的AI,通常是指"机器学习". 定义:机器学习其实就是研究计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身.从实践的意义 ...
- 互联网,IT,大数据,机器学习,AI知识tag云
互联网基础: tcp/ip网络,linux运维,DNS,ipv6 web前端: javascript, es6, 组件化开发, vuejs, angularjs, react html5, css3, ...
- c# 模拟网易足彩算法
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...
- zw黑天鹅足彩实盘测试5月数据包
[文件说明] $mx1,是单日数据:$mx9,是日数据和 入选率:2%, 准确度:40% 盈利率:120%左右 目前在测试稳定性 5月1日-6月14日,实盘数据 $mx9,15061409x15061 ...
- 这届 Showgirl行不行?AI告诉你谁是ChinaJoy上最漂亮的小姐姐
摘要: CJ开幕,顶着三伏天的酷暑高温,暴走一整天,就为了拍点漂亮小姐姐给大家看看. 一年一度的游戏视觉盛宴又来了! 作为一个游戏动漫控的肥宅,去CJ现场是必须的.除了看看游戏和动漫,各大游戏展台漂亮 ...
随机推荐
- 【jQuery】Deferred(延迟)对象
本文针对jQuery-todolist项目中使用到的Deferred(延迟)对象进行具体分析 $.Deferred() 是一个构造函数,用来返回一个链式实用对象方法来注册多个回调,并且调用回调队列,传 ...
- 1、Android-活动(下)
1.4.活动的生命周期 对于活动来说生命周期的理解时非常重要的 当对其生命周期有了足够的了解,可以很好的写出程序 1.4.1.返回栈 Android中的活动是可以层叠的 没启动一个新的活动,就会立即覆 ...
- Linux 问题处理集锦
安装nginx,编译过程中遇到的问题 wget command not found yum -y install wget c compiler cc is not found yum -y inst ...
- 将宿主主机上的目录挂载到Docker中
docker run -it -v /home/zhouqun/文档/workplace:/var/www/html ubuntu64 /bin/bash 将宿主主机中/home/文档/workpla ...
- 记一次jvm异常排查及优化
为方便自己查看,根据工作遇到的问题,转载并整理以下jvm优化内容 有次接到客服反馈,生产系统异常,无法访问.接到通知紧急上后台跟踪,查看了数据库死锁情况--正常,接着查看tomcat 内存溢出--正常 ...
- 并发编程(二)------并发类容器ConcurrentMap
并发类容器: jdk5.0以后提供了多种并发类容器来替代同步类容器从而改善性能. 同步类容器的状态都是串行化的. 他们虽然实现了线程安全,但是严重降低了并发性,在多线程环境时,严重降低了应用程序的吞吐 ...
- 2017年秋招美团Java程序员开发,看我如何拿到offer
本人是一名本科毕业非计算机专业的程序员,面了阿里,结果没过,最后面上了美团,热乎乎的面经,昨天面的美团,虽然面完了HR面,但是感觉希望不大,希望能走运拿到offer吧.记性不是太好,有一些问题没能记住 ...
- Java中的IO流(五)
上一篇<Java中的IO流(四)>记录了一下Properties类,此类不属于IO流,它属于集合框架.接下来说一下IO流中的其它流 一,打印流PrintStream PrintStream ...
- 1005. Spell It Right(20)—PAT 甲级
Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output e ...
- scrapy基础
scrapy Scrapy 是用 Python 实现的一个为了爬取网站数据.提取结构性数据而编写的应用框架. Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. Scrapy ...