1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 用Python来预测双色球 开启梦幻人生。一起参与吖

用Python来预测双色球 开启梦幻人生。一起参与吖

时间:2020-06-05 11:49:45

相关推荐

用Python来预测双色球 开启梦幻人生。一起参与吖

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

双色球大家应该都不陌生吧,作为福利彩票的一种,有很多种购买的途径,某付宝上就可以购买,他的购买规则是这样的,双色球分为红色球和蓝色球两种,大家需要从1到33中随机选取6个来构成红色球,然后从1到16中随机选取1个数字来构成蓝色球,一共是7个数字。

小编粗略的为大家计算了一下中一等奖的概率,大概是0.0000000564,也就是亿分之5.64。我估计这辈子是没这运气了。介绍完双色球之后,下面就开始我们的Python预测双色球之旅。

01

爬取双色球几年的数据

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

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

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

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

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

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

可以看出,蓝色球当中数字12出现的频率最高,而数字8出现的频率最低。所以按照各个数字的出现频率,小编统计了一下。按照出现的频率来买,总比随机买让我感到安心。概率统计的部分代码如下图所示。

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

02

机器学习来训练模型

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

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

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

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

以上小编带领大家以双色球为例,同时复习了爬虫,数据分析以及机器学习的相关知识,虽然上面的预测号码只是一个小小的预测,结果不一定准确,致富其实还是需要靠好好学习,靠努力去赢得未来。不过话又说回来,人总是要有梦想的,学Python这么久,用代码来预测号码,万一中了那就非常有成就感了。

那么你是否会Python呢?不会,不要紧的,小编这里给你分享一套学习Python从入门到精通的全套视频教程,一共400集,让你学到爽!

怎么获取呢?

1.转发此文

2.关注并私信小编关键字“02”即可免费获取

400集Python视频教程+上百本电子书等你来拿,还在犹豫什么?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。