《封号码罗》数据分析与人工智能之pandas(四)

彩票数据分析实战:用Python做决策优化而非号码预测 彩票本质上是独立同分布的离散均匀随机过程,任何‘预测中奖号码’都违背概率论基本原理;真正可落地的技术路径是基于历史开奖数据的概率建模与结构化决策优化——通过冷热号加权统计、组合结构评分、性价比动态阈值等方法,将选号转化为可量化、可回测、可迭代的数据决策问题;其技术价值在于提升资金使用效率与行为纪律性,广泛应用于理性彩民策略管理、统计学教学实践及行为经济学实证研究;本文聚焦Python+Pandas轻量级实现,覆盖数据清洗、指标计算、策略回测到可视化看板的完整链路。 阅读详情

第一部分

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
from matplotlib import pyplot
import time

# 数据加载
# pd.read_"文件类型"("./文件名称.后缀",header=None)   #如果第一行不是列索引,header=None
# 参数:sep="\t" 指定读取文件时的分隔符,常用于txt文件  还有sep="," 逗号分隔符
#       name=list("ABC")    如果第一行不是列名,用name属性可以为读进来的数据设置列名

# sqlite3数据库数据加载
# import sqlite3
# con = sqlite3.Connection("./data.sqlite")   # 连接数据库
# df = pd.read_sql("sql语句(select * from Weather_2017)", con)  # 读取数据库中的数据
# df = pd.read_sql("sql语句(select ~Date/Time~ from Weather_2017)", con)  # 单个属性列名两个词或/  用~括起来
# df.shape
# df.to_sql("数据表名称",con,index=Fales(不写入index),chunksize=1024(一次性写入多少数据))    具体参数看源码介绍

# 保存数据到剪贴板
# df.to_clipboard()

# 根据url获取网络上的数据
# 虚假例子:pd.read_csv("https://www.baidu.com/data.csv")   直接获取网上的csv数据

# 读写mysql数据
import pymysql

con = pymysql.Connection(host="127.0.0.1", port=3306, user="root", password="root", database="books", charset="utf-8")
pd.read_sql("sql语句", con=con)  # 读取数据
# 向mysql中写入数据,需要使用sql引擎,需要安装两个库 mysqlclient和sqlalchemy
from sqlalchemy import create_engine

# 创建引擎连接数据库
engine = create_engine("mysql+pymysql://root:root@localhost:3306/books?charset=utf8")
# df.to_sql("表名",engine)

start = time.perf_counter()
print()
end = time.perf_counter()
print(f"程序运行耗时为{(start - end).__round__(20)}")

第二部分

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
from matplotlib import pyplot
import time

# 全局配置pandas
pd.set_option('display.max_columns', None)  # None显示所有列
pd.set_option('display.max_rows', 100)  # None显示所有行
pd.set_option('display.width', None)  # 无限宽度
pd.set_option('display.max_colwidth', 100)  # 设置value的显示长度为100,默认为50
pd.set_option("display.float_format", lambda x: "%0.2f" % (x))  # 保留两位小数

# 用pandas展示数据输出时列名不能对齐,是列名用了中文的缘故
# 用下面两个参数 它们的默认设置都是False
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)

df1 = DataFrame(np.random.randint(0, 150, size=(6, 3)), columns=["Python", "Math", "En"],
                index=pd.MultiIndex.from_product([["张三", "李四", "A活宝"], ["期中", "期末"]]))

# dd = df1.loc["张三":"A活宝"]  # 切片    如果是单层索引切片没有问题

# 如果是多层索引这样切片会报错,没有排序,因为排序后A_到了第一行
# dd = df1.loc["张三":"A活宝"]  # 切片  这一行会报错
df1 = df1.sort_index()
# dd = df1.loc["A活宝":"张三"]  # 排序之后再重新切片

# 删除重复元素
# 使用duplicated()方法检测重复的行,返回元素为布尔类型的Series对象,
# 每个元素对应一行,如果该行不是第一次出现,则元素为True
df2 = DataFrame({"color": ["red", "blue", "yellow", "red"], "price": [10, 15, 20, 10]}, index=list("ABCD"))
# drop_duplicates()直接删除重复数据  dropna()删除空数据  drop()删除行和列
# dd = df2.drop_duplicates()

# 映射
# 映射的含义:创建一个映射关系列表,把values元素和一个特定的标签或者字符串绑定
# 需要时会用字典:
# map = {"label1": "value1", "label2": "value2", ...}
# 包含三种操作:
#     1、replace()函数:替换元素
#     2、最重要-->map()函数:新建一列
#     3、rename()函数:替换索引
# dd = df2.replace(to_replace={10: 18, 15: 19})

df3 = DataFrame(np.random.randint(0, 150, size=(150, 3)), columns=["Python", "Math", "En"])
df3["Python"] = df3["Python"].map(lambda x: x + 10)  # Python列下面每一个元素加10


# 把平均分数转换成等级  x就是df3["level"]这一列中的每一个元素
def convert_level(x):
    if x < 60:
        return "不及格"
    elif x < 90:
        return "及格"
    else:
        return "优秀"


df3["level"] = df3.mean(axis=1).map(convert_level)
df3["Java"] = df3["Python"].map(lambda x: x + 10)  # Java是Python+10创建,相关性很强
# 使用相关性系数才好看数据
# method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}
#   pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性                                           数据便会有误差。
#   kendall:用于反映分类变量相关性的指标,即针对无序序列的相关系数,非正太分布的数据
#   spearman:非线性的,非正太分析的数据的相关系数
# min_periods:样本最少的数据量
# dd = df3.corr(method="pearson", min_periods=1)

# 灵活的map()和transform()用法基本一样
# dd = df3["Python"].map(lambda x: x / 2) + df3["Java"].transform(lambda x: x / 2)

# 替换索引
# dd = df3.rename({0: "A", 3: "B"})  # 行索引替换
dd = df3.rename({"En": "英语", "Java": "程序"}, axis=1)  # 行索引替换

start = time.perf_counter()
print(dd)
end = time.perf_counter()
print(f"程序运行耗时为{(start - end).__round__(20)}")

第三部分

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
from matplotlib import pyplot
import time

# 全局配置pandas
pd.set_option('display.max_columns', None)  # None显示所有列
pd.set_option('display.max_rows', 100)  # None显示所有行
pd.set_option('display.width', None)  # 无限宽度
pd.set_option('display.max_colwidth', 100)  # 设置value的显示长度为100,默认为50
pd.set_option("display.float_format", lambda x: "%0.2f" % (x))  # 保留两位小数

# 用pandas展示数据输出时列名不能对齐,是列名用了中文的缘故
# 用下面两个参数 它们的默认设置都是False
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)

# 随机数学习地址https://blog.youkuaiyun.com/u012149181/article/details/78913167
# randn()函数返回一个或一组样本,具有标准正态分布
df1 = DataFrame(np.random.randn(100000, 3), columns=["red", "green", "blue"])
cond = df1.abs() - df1.mean() > 3 * df1.std()  # 过滤异常值的条件
cond = cond.any(axis=1)  # 一个Series的bool值条件
# dd = df1[cond]    # 所有的异常值行  df1[cond].index异常值行索引
# drop中的labels是按照索引删除,默认是行索引
# dd = df1.drop(labels=df1[cond].index)
# print(df1.shape, dd.shape) 查看前后形状变化

# 随机抽样 take就是取,拿的意思
# dd = df1.take(indices="index数组")  根据index随机抽样

# 分层抽样 比如:老人,孩子    男人,女人   工人,农民等层级

# 随机排序 np.random.permutation()
dd = df1.sort_values(by="red", ascending=False)  # 按照列的值降序排序

# 将一列日期的数据对象,转换为时间格式 假设该列为2020-02-02的数据     纳秒
# df1["red"] = pd.to_datetime(df1["red"])  转化日期格式datatime64[ns]
# 重采样,根据时间进行划分,划分成天D,月M,年Y
# grouped = df1.groupby("red")
# grouped.resample("M")
# 时间是一个非常重要的结构化数据 在绘图时,会自动检测时间

start = time.perf_counter()
print(dd)
end = time.perf_counter()
print(f"程序运行耗时为{(start - end).__round__(20)}")

第四部分

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
from matplotlib import pyplot
import time

# 数据分析,大多数的时候都是分组聚合操作 groupby()操作很频繁

# 选取候选人A,B的自己数据

# cand_nm  是候选人的名单
# 方式一:
# cond1 = df1["cand_nm"] == "A"     # 找到子集A的条件
# cond2 = df1["cand_nm"] == "B"     # 找到子集B的条件
# cond = cond1 | cond2              # 两个条件合在一起  是或者的关系
# dd = df1[cond]                    # 根据条件找到数据

# 方式二
# dd = df1.query("cand_nm" == "A" or "cand_nm" == "B")

# 方式三
# cond = df1["cand_nm"].isin(["A","B"])         # 可以向列表中继续追加条件  isin适用于==的条件
# df2 = df1[cond]

# 使用cut()函数 面圆化数据       类似把数据规划分组
# bins = [0, 1, 10, 100, 1000, 10000]
# labels = pd.cun(df1["列名"], bins)

# 透视表pivot_table分析党派和职业
# 按照党派、职业队赞助金额进行汇总
#                      汇总的列名   每行职业不同  两个党派为列索引    汇总用聚合函数sum  NaN为0
# ret = df1.pivot_table("金额列名", index="职业", columns="党派", aggfunc="sum",fill_value=0)

# 过滤掉金额小于200的数据
# cond = ret["总金额"] < 200        条件对象 是一个bool的数组
# index = ret[cond].index           根据条件找到索引
# dd = ret.drop(labels=index)       根据索引删除行数据

# 如果在ply中绘图,没法改变图的尺寸,绘制一个子图,让数据在子图中显示
# plt.figure(figsize=(12, 9))
# ax = plt.subplot(1, 1, 1)
# ret.plot(kind="bar", ax=ax)

# 在分组运算时,可以先分组得到一个grouped分好组的对象,这个对象可以继续分组
# def get_top_amounts(grouped, key, n):
#              按照key分组之后,在按照amt求和  排序 返回前n行数据
#     return grouped.groupby(key)["amt"].sum.sort_values(ascending=False)[:n]
#
#
# grouped = df1.groupby("name")             行索引变列索引
# grouped.apply(get_top_amounts, "key", 5).unstack(level=0)  应用上面的行数,回调函数后面传参

# 重采样和频度转换  只要行索引是时间类型,就可以重采样,就是每秒转一小时,每天转一个月
# 重采样(resampling)指的是把时间序列的频度变为另一个频度的过程
# 把高频度的数据变为低频度叫做 降采样downsampling,resampling会对数据进行分组,然后再调用聚合函数。

# 把频率从每日转为每月,属于高频转低频的降采样
# df1_time.groupby(["分组列名"]).resample("M")["mat"].sum()

# 绘制地图
# basemape 工具包 用来绘制地图 无法安装时--》https://www.lfd.uci.edu/~gohlke/pythonlibs/
# from mpl_toolkits.basemap import Basemap
# plt.figure(figsize=(12,9))
# m = Basemap(各种参数)
# m.drawciastlines(linewidth=1.5)
# m.drawcountries(linewidth=1.5)
# m.drawstates()        m.shapefile("./文件名",name="名字")  下载文件https://gadm.org/download_country_v3.html
# plt.show()

# 颜色    cm支持的颜色 https://matplotlib.org/gallery/color/colormap_reference.html
# 绘制热地图https://www.bilibili.com/video/av87390006?p=40
cmap = plt.cm.ocean
for i in range(10):
    plt.plot(np.arange(10) + i, c=cmap((i + 1) / 10))
pyplot.show()

双色球数据分析:基于Python的开机试机号匹配规律与推荐策略 数据分析作为从海量信息中提取有价值洞见的技术手段,其核心原理是通过统计方法和算法模型识别数据中的模式和趋势。在技术价值层面,数据分析能够为决策提供量化支持,在金融、电商、游戏等多个领域都有广泛应用。以彩票数据分析为例,通过Python的pandas、numpy等工具对历史开奖数据进行采集和清洗,可以建立开机试机号匹配度计算模型,分析号码出现频率的热号冷号规律。这种基于概率统计的方法虽然不能预测随机事件的确切结果,但为理解数据规律提供了实践场景,特别适合技术人员学习数据采集、特征工程和可视化分析的全流程技能。 阅读详情

相关推荐

python 数据处理学习pandas之DataFrame(一)

暂无

贪玩小神的专栏 3万+

pandas相关系数-DataFrame.corr()参数详解

DataFrame.corr(method='pearson',min_periods=1) 参数说明: method:可选值为{‘pearson’, ‘kendall’, ‘spearman’} pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性 ...

walking_visitor的博客 9万+

探索DeepSeek在双色球历史数据分析中的娱乐性应用

本文探讨了DeepSeek在双色球历史数据分析中的娱乐性应用,强调彩票预测的不可行性。文章通过数据爬取、统计分析和可视化等实践,展示了如何将AI作为数据分析工具进行技术探索,而非用于预测。重点在于培养数据分析思维和Python编程能力,而非追求不切实际的预测效果。

weixin_29061997的博客 212

python:df.corr() 数据的相关性分析

基金净值与龙头股收盘价 数据的相关性分析: diff_corr.py # coding: utf-8 import os, sys from datetime import datetime import matplotlib.pyplot as plt import pandas as pd # 512070,易方达沪深300非银ETF基金 df = pd.read_csv('5120...

belldeep的专栏 1万+

51单片机也能玩转信号发生器?手把手教你用DAC0832和LM358输出四种标准波形

本文详细介绍了如何使用51单片机和DAC0832芯片搭配LM358运放,自制低成本信号发生器,实现正弦波、矩形波、三角波和锯齿波四种标准波形的输出。从硬件选型、电路设计到编程实现,手把手教你完成这一实用电子项目,总成本不到50元,适合电子爱好者和学生实践。

weixin_30530939的博客 551

grafana使用方法

1、点击仪表盘2、新建仪表盘3、选择数据源4、选择查询的条件5、美化。

2403_87359664的博客 323

pandas.Dataframe.corr(method='spearman')代码效率极低,会占用大量资源

秩相关系数是将数值换成顺序后的pearson相关系数,也就是说pandas.Dataframe.corr(method=‘spearman’)和pandas.Dataframe.rank().corr(method=‘pearson’)是等价的,但是前者慢到了令人发指的地步 import pandas as pd import numpy as np import time cor=pd.Dat...

weixin_44605402的博客 3270

从3D相机数据到三维模型:Halcon实战深度图、亮度图与点云转换全流程

本文详细解析了如何利用Halcon将3D相机采集的深度图、亮度图转换为三维点云模型的完整流程。通过实战案例分享,涵盖数据格式处理、点云生成方法(SDK接口与纯Halcon实现)、三维模型可视化优化等关键技术,帮助工程师解决工业检测中的实际难题,提升三维重建精度与效率。

weixin_42525005的博客 394

《封号码罗》数据分析与人工智能之pandas(三)

第一部分 import numpy as np import pandas as pd from pandas import Series, DataFrame import matplotlib.pyplot as plt from matplotlib import pyplot import time # 一、Series是一种类似与一维数组的对象,有下面两部分组成: # ...

Python_DJ的博客 295

IsaacGym四足机器人sim to real全过程详细解析(walk these ways方法)

本文使用强化学习的方法运行到Aliengo机器人上完成从训练到部署的全过程。该方法使用的是GO1机器人提供了完整的sim to real代码和遥控器控制代码,所以我们只需要重新训练和部署健康就可以使用在Aliengo上。该方法使用lcm进行通讯首先程序通过UDP和机器人控制板进行通讯获取机器人状态并下达指令。然后又通过lcm进行机器人状态信息的发布和模型命令的获取。

weixin_44061195的博客 2万+

Vue 实现华视身份证读卡器功能

在www.downcc.com下载“华视cvr100驱动”安装程序; 华视电子官网有相应的文档说明和程序下载 一、服务安装 选择安装目录: 启动读卡服务: 安装成功会有如图所示: 注意事项: 安装开发包必须使用管理员权限,因为windows服务和读卡器设备驱动程序均需要管理员权限,否则会安装失败。 win10需要修改组策略才有管理员权限。 二、服务的使用 打开浏览器,输入地址http://127.0.0.1:19196/mainpage,回车 点击openDevice: 点.

zyqgt960812的博客 6500

Python数据分析与程序设计(四):Pandas数据分析实践

上一篇系列博客中,我们介绍了Pandas库的基本概念和功能,为读者展示了Pandas在数据分析领域中的强大之处。本篇将从理论走向实践,通过具体的数据分析案例来应用Pandas库。对应数据集我会在后续上传,大家可以在我的主页中找到它是数据分析和机器学习中的一个重要步骤,它涉及将原始数据转换成适合进一步分析或模型训练的形式。预处理的目的是提高数据的质量,使其更加适合特定的分析任务;去除重复值:删除数据集中的重复记录,确保数据的唯一性。处理缺失值。

m0_71920354的博客 1644

从DDPM到DDIM:深入解读《Denoising Diffusion Implicit Models》

DDIM发表在ICRL2021上,是DDPM重要的改进之一,能显著提高DDPM的样本质量、减少采样时间,并且能显式控制插值,已经被广泛应用到现在的Diffusion Models上。这篇博客和大家一起详细解读一下DDIM,认识这一伟大的模型。.........

沉迷单车的追风少年 1万+

《封号码罗》数据分析与人工智能之matplotlib(六)

第一部分 import numpy as np import pandas as pd from pandas import Series, DataFrame import matplotlib.pyplot as plt from matplotlib import pyplot import time # 设置plot的风格和样式 # plot语句中支持除x,y以外的参数,以字符串形式存在...

Python_DJ的博客 278

【AI智能体】Dify 搭建数据分析应用实战操作详解

Dify 搭建数据分析应用实战详解

congge 7286

Python爬虫实战:携程/飞猪酒店信息爬取与动态价格分析

在当今数字化旅游时代,酒店预订平台的复杂筛选条件和动态定价机制为数据分析和价格监控带来了巨大挑战。本文将深入探讨如何使用最新的Python爬虫技术来抓取携程和飞猪平台的酒店信息,处理复杂的筛选条件,并解析动态价格数据。本文详细介绍了如何使用最新的Python爬虫技术来抓取携程和飞猪平台的酒店信息。通过结合httpxplaywrightparsel强大的反反爬虫能力:通过浏览器指纹伪装、请求签名、智能延迟等技术应对各种反爬措施高效的数据解析:使用CSS选择器和XPath精确提取所需信息灵活的数据存储。

2201_76125261的博客 414

七款AI数据分析神器评测,数据分析效率翻倍不是梦!

【AI数据分析工具大盘点】市面上涌现多款AI工具助力数据处理:1. FormularizerAI可将自然语言转为Excel公式;2. SheetAI嵌入Google Sheets实现公式生成+分析;3. ExcelAgent支持本地部署,保障数据安全;4. Claude for Sheets擅长文本分析;5. BrowseAI实现无代码网页数据抓取;6. Ajelix集成公式生成+VBA脚本;7. PandasAI适合Python用户进行高级分析。这些工具覆盖从基础公式到复杂分析的各类需求,显著提升数据处理

数据矿工-数据化运营博客 2217

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

足球运动员的数据分析实战(python)

1、案例背景   当前,足球运动是最受欢迎的运动之一。在此万受瞩目的运动下,打算针对足球运动员个人的信息,技能水平等各项指标进行相关的分析与统计。例如,我们可能会关注如下的内容: 足球运动员是否受出生日期的影响? 左撇子适合踢足球吗? 足球运动员的号码是否与位置相关? 足球运动员的年龄与能力具有怎样的关联? 哪些技能会对足球运动员的综合能力造成较大的影响? 2、任务说明   目前,我们收集到了...

数据分析与统计学之美 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

超长干货:Python实操数据分析教程,轻松上手数据分析

在当今数据驱动的时代,数据分析成为了解锁洞见和驱动业务决策的关键。Python,作为一种功能强大且易于学习的编程语言,已成为数据分析的首选工具之一。本文将引导您了解使用Python进行数据分析的一般流程,包括数据清洗、分析处理、可视化和得出结论。

xiaolinyui的博客 2万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

python 的pandas DataFrame大全

导言:对python的数据分析包的pandas不可不提,其中数据透视表DataFrame的数据处理能力很是强大; 1.导入pandas import pandas as pd DataFrame = pd.DataFrame2.数据读入 data = pd.read_csv(path, sep = '\t', header='infer') 3.常用命令 df = DataFram

haramshen的博客 1863

机器学习之pandas

机器学习之pandas numpy和pandas的区别 numpy更多的是处理数值性的分析,而pandas除了处理数值之外(基于numpy)还能处理其它类型的数据,如字符串,时间序列等。 Series import pandas as pd # Series 是一维数组,带标签的数组,标签指的就是索引 # dataFrame是多维数组 series = pd.Series([2, 3, 5, 6,...

weixin_43761300的博客 243

基于Python机器学习的双色球数据分析与预测

数据量:提供的数据量较小,可能影响模型的准确性。通常需要更多的历史数据来训练有效的模型。随机性:双色球的结果具有随机性,预测结果不应被视为实际的开奖结果。通过以上步骤,我们简单地演示了如何使用Python进行双色球数据分析与预测。尽管机器学习可以帮助我们理解数据中的某些模式,但彩票的随机性质使得任何预测都不能保证成功。希望大家在进行这些技术探索时,始终保持理性和谨慎。双色球是公益事业,祝大家好运!

7791

python数据分析和数据挖掘之pandas模块

一、pandas模块 pandas(Python Data Analysis Library)是基于numpy的数据分析模块,提供了大量标准数据模型和高效操作大型数据集所需要的工具,可以说pandas是使得Python能够成为高效且强大的数据分析环境的重要因素之一。它最主要的两个数据结构是series和DataFrame。本文主要介绍series的一些操作。 二、命令及其相关功能介绍 下面我将介绍pandas的series的方法: 方法 功能描述 pandas.series(list,ind

m0_43405302的博客 888

pandas数据分析35——多个数据框实现笛卡尔积

pandas实现笛卡尔积,多键合并。

weixin_46277779的博客 2255

pandas学习

1.打印所有的行所有的列存储的数据 pd.set_option('display.width', None) # 显示所有列 pd.set_option('display.max_rows', None) # 显示所有行

机灵鬼 400

python数据分析:数据拆分,数据合并,数据筛选

python数据分析

微笑一号的博客 6239
上一篇: 《封号码罗》数据分析与人工智能之pandas(三)
下一篇: 《封号码罗》数据分析与人工智能之scipy(五)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值