世界杯足彩怎么买划算?机器学习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现场是必须的.除了看看游戏和动漫,各大游戏展台漂亮 ...
随机推荐
- 折腾一下WebSocket的ArrayBuffer传输方式
前言 之前写WebSocket都是基于文本传输的,后来准备升级项目,于是打算尝试一下arraybuffer传输方式,由于是第一次使用javascript处理字符串转arraybuffer,不过真的 ...
- 【Git】将项目下的.git目录隐藏
将项目下的.git目录隐藏 在apache配置文件httpd.conf中添加配置: <Directory "${INSTALL_DIR}/www/mypro/.git"> ...
- SimpleDateFormat 的 format 方法使用具体解释
Java中怎么才干把日期转换成想要的格式呢.或把字符串转换成一定格式的日期,如把数据库中的日期或时间转换成自己想要的格式,JAVA中提供了SimpleDateFormat类能够实现,下面是Simple ...
- Spring 事务传播行为的使用
...
- ORACLE逐行累计求和方法(OVER函数)
1.RANK ( ) OVER ( [QUERY_PARTITION_CLAUSE] ORDER_BY_CLAUSE ) DENSE_RANK ( ) OVER ( [QUERY_PARTITION_ ...
- c#将List转换成DataTable(采用Emit)
前段时间通过网上查找,使用emit将Datatable,DataReader转换成List<T>了.这是从数据库到展示. 但是最近整理Hikari(我写的数据库连接池),发现c#里面数据库 ...
- 安装ubuntu 18.04总结
今天开发组的一个妹子同事想把系统换成ubuntu的,过来找我,给装完后,做个总结..... 以下开始操作 环境:小米air ,系统win10,cpu intel_m3 一)下载ubuntu 的镜像 h ...
- 【visual studio code 的python开发环境搭建 】
打开vs code,按按F1或者Ctrl+Shift+P打开命令行,然后输入ext install 输入Python,选第一个,这个用的最多,支持自动补全代码等功能,点击安装按钮,即可安装 下面试着编 ...
- Linux下更新git版本
查看git版本,卸载旧版本(如果没有安装git请直接到下一步) git --version yum remove git 安装依赖软件 yum install curl-devel expat-dev ...
- 小白该如何学习Linux操作系统
一. 选择适合自己的Linux发行版 谈到linux的发行版别,太多了,可能谁也不能给出一个准确的数字,但是有一点是能够必定的,linux正在变得越来越盛行, 面临这么多的Linux 发行版,打算从别 ...