您的位置 首页 java

我用Python分析双色球中奖概率!5分钟带你揭密

路过一个卖彩票的店,突然灵感爆棚,想着是不是可以利用Python来预测一下的彩票号,这样不就可以有首付买房子,相亲找个对象也有点底气了!说干就干,小编就拿双色球为例,来给大家预测一下,万一中呢!

我用Python分析双色球中奖概率!5分钟带你揭密

我用Python分析双色球中奖概率!5分钟带你揭密

总之目标就是:

我用Python分析双色球中奖概率!5分钟带你揭密

01

爬去双色球几年的数据

首先是数据的获取,小编利用爬虫来爬取近16年来的每一期的双色球中奖号码,如下图所示。

我用Python分析双色球中奖概率!5分钟带你揭密

爬虫的部分程序如下图所示:

我用Python分析双色球中奖概率!5分钟带你揭密

爬虫的思路很简单,主要是遍历爬取120几页的数据,GetPage函数取逐页解析,然后用bs去解析一些,并把数据保存在lottery文件里面。

我用Python分析双色球中奖概率!5分钟带你揭密

用requests去伪装一个header取请求数据,这些都是非常基本的爬虫知识,这里就不过多描述。

小编一共爬取到了2441条数据,包含了从2003年2月23号到2019年7月16号的所有中奖彩票数据。有了数据之后,小编先进行了一下数据的分析,看看红色球和蓝色球当中,究竟哪些数字出现的频率较高。红色球的各个数字出现频率如下图所示。

从图上可以看出来,数字1出现的次数最高,而数字33出现的频率最低。蓝色球数字出现的频率如下图所示。

蓝色球当中数字12出现的频率最高,而数字8出现的频率最低。

所以按照各个数字的出现频率,小编统计了一下。按照出现的频率来买,总比随机买让我感到安心。概率统计的部分代码如下图所示。

其实就是用collection模块里面的 Counter 库里面的most_common()函数来对数据进行统计一些最常见的红色球和蓝色球的频次比较高的。

02

机器学习来训练模型

下面小编决定参照网上给出的一些方法,利用 线性回归 来进行预测。小编对每个位置上的数字都分别训练一个模型。如下图所示:

绿色数字代表的是中奖号码的每一个位置,黄色数字就代表着每一个位置下的编号,小编就是将每个位置上的号码分别存储,以每个中奖号码作为Y值,而其每个编号作为X值,以此构成X、Y训练数据,而我们只需要预测每一个位置上的下一期中奖号码,然后将其拼接起来,就可以构成我们的下一期预测号码。部分程序如下图所示:

小编首先是将各个位置上的中奖号码分别存储到 csv 文件当中,然后从各个csv文件中读取数据,作为X、Y训练数据进行返回。

最后再针对每个位置上的中奖号码训练各自的模型即可得到我们的下一期预测号码。

以上就是小编分享的预测中奖号码的全部内容了

文章来源:智云一二三科技

文章标题:我用Python分析双色球中奖概率!5分钟带你揭密

文章地址:https://www.zhihuclub.com/196075.shtml

关于作者: 智云科技

热门文章

网站地图