双色球预测的一次尝试——修正



经过三次计算,发现计算结果相差不大,所以觉得预测算法不够完善,现在还不知道如何使用其他的方式来预测,所以只能计算每次预测的误差平均值,在预测的时候加上这个误差平均值,看看效果(PS:今天4月10日预测出来的1号球居然是0····所以才想着用误差平均值来修正)。

修改的Python代码如下:

#查询误差数据
cursor.execute('select * from tb_error')
errors = cursor.fetchall()

red1Error = 0
red2Error = 0
red3Error = 0
red4Error = 0
red5Error = 0
red6Error = 0
blueError = 0

#将每个球误差累加
for i in errors:
    print i[2:9]
    red1Error = red1Error + i[2]
    red2Error = red2Error + i[3]
    red3Error = red3Error + i[4]
    red4Error = red4Error + i[5]
    red5Error = red5Error + i[6]
    red6Error = red6Error + i[7]
    blueError = blueError + i[8]

#调用预测算法,然后加上对应球的误差平均值
pred1=int(prdct.prediction(red1)) + red1Error/len(errors)
pred2=int(prdct.prediction(red2)) + red2Error/len(errors)
pred3=int(prdct.prediction(red3)) + red3Error/len(errors)
pred4=int(prdct.prediction(red4)) + red4Error/len(errors)
pred5=int(prdct.prediction(red5)) + red5Error/len(errors)
pred6=int(prdct.prediction(red6)) + red6Error/len(errors)
pblue=int(prdct.prediction(blue)) + blueError/len(errors)

经过两次使用误差平均值修正预测结果的方法效果不好(可能是试验次数比较少),两次预测到的个数都降为1,正在考虑用误差平均值修正是否合理,是否在算法预测结果和误差平均值上使用加权来计算。

发现问题:拿pred2=int(prdct.prediction(red2))+red2Error/len(errors)来说,今天测试prdct.prediction(red2)的结果是2.0,将它转成int类型也就是int(prdct.prediction(red2))之后得到的结果居然变成1了,测试了几个都是出现这样的问题,转成int类型后小了1,不知道为什么。干脆就按浮点来存吧。发现这个错误的过程是我偶然把预测数字与误差平均值分开打印,发现转成int型后少了1,之后定位为在将用算法预测的浮点数字转成整型的时候数字减小了1。但奇怪的是pred1却没有问题,或许因为这次prdct.prediction(red1)本身就等于1.0。







时间: 2024-11-08 07:25:52

双色球预测的一次尝试——修正的相关文章

双色球预测的一次尝试

 萌发预测双色球的想法来源于很久以前,小时候电视上看双色球开奖结果的时候,总会发现当解说员说"下一个中奖号码是···"的时候,中奖号码就跳出来了,所以我认为是可以认为控制的,至于可不可以预测,那就不知道了,反正试试吧. 首先我得收集双色球的中奖号码,通过历史中奖号码来预测下一组号码. 表结构设计: 中奖号码表: 字段名 名称 类型 备注 lottery_date 日期 varchar 主键 phase 期号 varchar red_1 1号球 int red_2 2号球 int r

python 之双色球预测

#encoding=utf-8 #这是一个易经的启卦程序,在windows下的python3.3下创建' #启卦要本着易的四原则,无事不占,不动不占,无疑不占.不能乱占. #预测原理是,随机生成一组6个红球号码,然后运行易经启卦程序,如果此结果 #为上上卦,那么这组号码就被打印出来,如果不是遇继续生成随机数,易经启卦原理我 #用 shell 写过一次了,这次是用python 又写了一次,思路是一样的,过程有差别,在 #shell 中主要是操作文件,在python中主要操作的是列表和字典. def

【原创】python基于大数据现实双色球预测

前提准备:利用sql筛选出每个球出现概率最高的前5个数 原理:先爬出所有的历史数据,然后模拟摇奖机出球的机制并大量模拟计算,直到出现列表中的某一个数后即停 注意事项:由于计算过程数据量很大,需要加入内存释放的操作 成果:目前博主最好记录是中了3红1蓝,适合学习交流使用,信则有 #coding=utf-8 import random import time import gc import datetime from collections import Counter try: dt = dat

双色球预测算法–红球行列断区法

行列断区法全称为行列断区转3D分析选号法,同样是由刘大军全新科学演绎并首次公开.简单地说,双色球红球号码33个,可以分为6行6列,如下图. 纵向看,33个红球分为6列,前三列每个列均含6个红球,后三列每个列均含5个红球. 经过统计每期开奖号码的红球,会发现一个有趣的现象: 开奖号码中的6个红球绝大多数分散出现在1~6列的其中4个列中,还有一部分出现在其中的3个或5个列中,最后是很少的部分出现在其中的6个列.2个列或1个列中,因为最后一种情况并不多见,完全可以忽略. 这个现象也就证明了在上面的图中

对双色球结果预测的一次无聊的尝试

今天晚上突然脑子不知怎么的,本来正在人工给12306验证码做打标工作,突然想看看双色球每期的开奖结果是否有规律 从这里下载从03年到今年的每期双色球开奖结果 用t-SNE降维到3维打印出来看看 似乎并没有什么规律 准备用线性回归来拟合一个模型,马上就有一个问题,对于双色球预测,自变量取什么?这是个非常复杂的问题了,而且可能是无解的问题,因为如果双色球是完全的独立随机事件,那也就无法提取出自变量,自然也就没法提取特征空间,这里姑且用开奖期号作为自变量特征,用结果(6维的红球结果,1维的蓝球结果)作

预测算法——指数平滑法

 目录 ?1.指数平滑定义及公式 ?2.一次指数平滑 ?3二次指数平滑 ?4.三次指数平滑 ?5指数平滑系数α的确定 1.指数平滑的定义及公式 产生背景:指数平滑由布朗提出.他认为时间序列的态势具有稳定性或规则性,所以时间序列可被合理地顺势推延:他认为最近的过去态势,在某种程度上会持续的未来,所以将较大的权数放在最近的资料. 基本原理:指数平滑法是移动平均法中的一种,其特点在于给过去的观测值不一样的权重,即较近期观测值的权数比较远期观测值的权数要大.根据平滑次数不同,指数平滑法分为一次指数平滑法

人工智能深度学习神经网络在双色球彩票中的应用研究

人工神经网络(Neural Networks)在双色球彩票中的应用研究网上已经有比较多的研究论文和资料,最近比较火的AlphaGo中用到的深度学习在双色球预测上还没有相关论文,以后研究成果出来将逐步更新内容. 人工智能神经网络是什么? 神经网络的好处就是可以自己纠正,可以自己生成节点,错误的输入也可以给你输出接近正确的结果.这个就是为什么叫做智能,他会自动根据情况跟人脑思维一样进行学习,进化而不是单纯的执行命令了. 普通过滤算法就是单线的执行,根据我的输入根据写好的逻辑算法直接给出输出,没有自动

RxJava从入门到放弃---关于RxJava-入门必看

RxJava 到底是什么 RxJava 好在哪 API 介绍和原理简析 1. 概念:扩展的观察者模式 观察者模式 RxJava 的观察者模式 2. 基本实现 1) 创建 Observer 2) 创建 Observable 3) Subscribe (订阅) 4) 场景示例 a. 打印字符串数组 b. 由 id 取得图片并显示 3. 线程控制 -- Scheduler (一) 1) Scheduler 的 API (一) 2) Scheduler 的原理 (一) 4. 变换 1) API 2) 变

给 Android 开发者的 RxJava 详解

作者:扔物线 前言 我从去年开始使用 RxJava ,到现在一年多了.今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 .而最近这几个月,我也发现国内越来越多的人开始提及 RxJava .有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: RxJava 到底是什么? 鉴于 RxJava 目前这种既火爆又神秘的现状,而我又在一年的使用