目录

  • 一、数据标准化
  • 二、预测代码
  • 三、后续

一、数据标准化

首先,我们需要对原始数据进行处理,将其转换为可用于机器学习的格式。我们可以将开奖号码中的红球和蓝球分开,将其转换为独热编码,然后将其与期数一起作为特征输入到机器学习模型中。
这里的数据集是我找到的2017年至今的数据集

import re
import csv# 定义正则表达式
pattern = re.compile(r'(\d{7})双色球开机号码:红球:(\d{2}),(\d{2}),(\d{2}),(\d{2}),(\d{2}),(\d{2}) 蓝球:(\d{2}) 开奖号:(\d{2}) (\d{2}) (\d{2}) (\d{2}) (\d{2}) (\d{2}) \+ (\d{2})')# 读取 test.txt 文件
with open('test.txt', 'r',encoding="utf-8") as f:lines = f.readlines()# 初始化数据列表
data = [['期数', '红球1', '红球2', '红球3', '红球4', '红球5', '红球6', '蓝球', '开奖红球1','开奖红球2', '开奖红球3', '开奖红球4', '开奖红球5', '开奖红球6', '开奖蓝球']]# 解析每一行数据
for line in lines:match = pattern.match(line)if match:# 提取匹配结果qishu = match.group(1)shijihongqiu = [match.group(i) for i in range(2, 8)]shijilanqiu = match.group(8)kaijianghongqiu = [match.group(i) for i in range(9, 15)]kaijianglanqiu = match.group(15)# 将提取到的数据添加到 data 列表中data.append([qishu] + shijihongqiu + [shijilanqiu] + kaijianghongqiu + [kaijianglanqiu])# 将数据写入 csv 文件
with open('lottery.csv', 'w', newline='') as f:writer = csv.writer(f)writer.writerows(data)

二、预测代码

接下来,我们需要选择一个机器学习模型进行预测。由于该数据集中没有常规的y参数,因此我们可以采用无监督学习的方法,对球号之间的关系进行建模,然后根据建好的模型进行预测。

常见的无监督学习算法包括聚类和降维算法。聚类算法可以将数据集中的数据分为不同的组别,每个组别中的数据具有相似的特征。降维算法可以将高维数据降低到低维空间,以便更好地进行可视化和处理。

在这里,我们可以采用聚类算法,例如k-means算法,来将球号进行聚类。具体步骤如下:

读取数据集,将红球1到红球6的6个特征作为X。
对X进行标准化处理,使得每个特征的均值为0,标准差为1。
使用k-means算法对X进行聚类,将样本划分为k个不同的组别。
对于2023048期的数据,提取红球1到红球6的6个特征作为X,并进行标准化处理。
将2023048期的数据输入到k-means模型中,预测它所属的组别。
根据模型预测出的组别,从训练集中找到同一组别中的数据,并计算这些数据中蓝球出现的频率,将频率最高的蓝球作为预测结果。
但是这里并不使用聚类算法,因为我发现写到最后开机号码是提前给出来的,所以我们用开机号码和开奖号码进行分析。

使用随机森林算法进行预测,下面是Python代码实现:

import numpy as np
import pandas as pd
from sklearn.ensemble import RandomForestRegressor# 读取数据
data = pd.read_csv('lottery.csv',encoding="gbk")# 提取特征和标签
X = data.drop(['期数', '开奖红球1', '开奖红球2', '开奖红球3', '开奖红球4', '开奖红球5', '开奖红球6', '开奖蓝球'], axis=1)
y = data[['开奖红球1', '开奖红球2', '开奖红球3', '开奖红球4', '开奖红球5', '开奖红球6', '开奖蓝球']]# 划分训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 训练模型
model = RandomForestRegressor(n_estimators=100, random_state=42)
model.fit(X_train, y_train)# 在测试集上评估模型
from sklearn.metrics import mean_squared_error
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print('Mean squared error:', mse)# 使用模型进行预测
predict_data = pd.DataFrame({'红球1': [2],'红球2': [10],'红球3': [13],'红球4': [17],'红球5': [22],'红球6': [26],'蓝球': [1]
})
predict_result = model.predict(predict_data)
rounded_result = np.round(predict_result)print('预测结果:', rounded_result)

结果如下:

(注:本代码纯属娱乐,投资有风险)

三、后续

中了五块钱

【纯属娱乐】随机森林预测双色球相关推荐

  1. RandomForest:随机森林预测生物标记biomarker——回归

    关于随机森林的简介和应用理论,请阅读之前分享的文章: 一文读懂随机森林在微生态中的应用 关于随机森林进行分类的入门实战,请阅读 之前分享的 - <RandomForest:随机森林预测生物标记b ...

  2. python在Scikit-learn中用决策树和随机森林预测NBA获胜者

    在本文中,我们将以Scikit-learn的决策树和随机森林预测NBA获胜者.美国国家篮球协会(NBA)是北美主要的男子职业篮球联赛,被广泛认为是首屈一指的男子职业篮球联赛在世界上.它有30个团队(美 ...

  3. Python使用随机森林预测泰坦尼克号生存

    tags: 随机森林 kaggle 数据挖掘 categories: 数据挖掘 mathjax: true 文章目录 前言: 1 数据预处理 1.1 读入数据 1.2 训练集与数据集 1.2.1 查看 ...

  4. 随机森林预测财务报表是否舞弊

    随机森林预测财务报表是否舞弊 爬取财务报表 设置文件保存在c盘eastmoney文件夹下 1 设置表格爬取时期 2 设置表格爬取起始页数 3 表格正式爬取 写入表头 方法1 借助csv包,最常用 数据 ...

  5. Python随机森林预测含水率

    Python随机森林预测含水率 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn. ...

  6. python在Scikit-learn中用决策树和随机森林预测NBA获胜者 1

    最近我们被要求撰写关于预测NBA的研究报告,包括一些图形和统计输出.我们将以Scikit-learn的决策树和随机森林预测NBA获胜者.美国国家篮球协会(NBA)是北美主要的男子职业篮球联赛,被广泛认 ...

  7. 在jupytor中运行随机森林预测泰坦尼克旅客生存情况

    在jupytor中运行随机森林预测泰坦尼克旅客生存情况 数据集链接链接: link. 百度网盘:链接: https://pan.baidu.com/s/1_pQ-3iG4dr0hrvU_5hYUtg ...

  8. RandomForest:随机森林预测生物标记biomarker——分类

    随机森林简介 R randomForest包 安装与加载 分类Classification 分类结果主坐轴分析 随机选取2/3预测,1/3验证 无监督分类 分层抽样 Reference 猜你喜欢 写在 ...

  9. 独家 | 用随机森林预测“美版拼多多”商品销量

    作者:Andrew Udell 翻译:王闯(Chuck) 校对:廖倩颖 本文约2200字,建议阅读8分钟 作者基于Kaggle上的Wish数据集,用Python演示了随机森林回归预测商品销量的方法,对 ...

最新文章

  1. 存储组和数据库的区别?
  2. Linux 命令查找指定文件夹下符合查询条件的文件和文件夹实例演示
  3. 概率论 第二章 随机变量及其分布
  4. ASA SSL ××× Anyconnect SBL(Start Before Logon)用于在外网登录域(上)
  5. Eclipse Code Review(代码审查)工具介绍
  6. Language-Directed Hardware Design for Network Performance Monitoring——Marple
  7. jQuery on 绑定的事件触发多次
  8. git 移动分支指针_理解git 中的HEAD指针branch指针
  9. T研究:国内云BPM市场规模尚小,预计2018年仅为3.29亿元
  10. VMware 12安装Mac OS X 10.11解决上网的问题
  11. 每周荐书:分布式、深度学习算法、iOS(评论送书)
  12. 3亿流量还能让Keep错几次?
  13. ajax 更新局部视图,使用Ajax局部更新Razor页面的实例代码
  14. 开发微信小程序所需要的http服务器搭建
  15. 物联平台纷争,能否拯救智能硬件?
  16. IP地址大全之IPV4版
  17. 常用汉字的UNICODE和对应的繁体字
  18. 计算机辅助工装设计的应用研究,计算机辅助工装设计与管理.PPT
  19. 中望3D 2021出图进阶版-3D出图技巧合集
  20. 用户登入系统的c语言代码大全,C语言 登录系统代码

热门文章

  1. Win10升级后 chrome内核浏览器网页打开卡慢的解决办法
  2. 交换机的基本配置之用户远程登陆配置教程
  3. Tomcat启动成功能访问主页面但是不能访问应用解决办法
  4. DFT频域相乘和时域卷积计算注意点
  5. JAVA 笔记 10 多线程
  6. cc2530之外部中断实验
  7. mooc习题 list
  8. Redis简单使用教程
  9. 嘴笨的人怎样学会说话 如何锻炼口才
  10. 二氧化碳传感器CCS811简单的测试驱动_基于Arduino