如果我要用Python做数据分析之上手篇

pandas案例之商品数据分析 文件名称: doc/chipo.csv 文件描述: 每列数据分别代表如下: 订单编号, 订单数量, 商品名称, 商品详细选择项, 商品总价格 需求1: 1). 从文件中读取所有的数据; 2). 获取数据中所有的商品名称; 3). 跟据商品的价格进行排序, 降序, 将价格最高的20件产品信息写入mosthighPrice.xlsx文件中; 需求2: 1). 统计列[item_name]中每种商品出现... 阅读详情

开头先BB两句

开始上手之前,先来啰嗦两句,都是一些大家都知道的废话 balabala

Python 数据分析是使用 Python 编程语言进行数据处理、探索、分析和可视化的过程。

Python 作为一种高级编程语言,拥有丰富的数据处理和分析库:

如 Pandas、NumPy、Matplotlib、Seaborn、Scikit-learn 等。

这使得 Python 成为了数据科学和数据分析领域中的一种重要工具。

Python 数据分析在未来的发展前景非常广阔。随着大数据时代的到来,数据的规模和复杂性不断增加,对数据分析的需求也越来越高。

Python 作为一种灵活、简洁、易用的编程语言,具有丰富的数据处理和分析库,使得其在数据科学和数据分析领域中具有竞争优势。

同时,随着人工智能、机器学习、深度学习等技术的快速发展,Python 数据分析在这些领域中也扮演着重要角色,因为这些技术通常需要对大量的数据进行预处理、特征提取、模型训练和结果分析等操作,而Python在这些方面具有丰富的库和工具支持。

此外,Python 数据分析在各个行业和领域都有广泛的应用,包括金融、医疗、电商、社交媒体、能源、交通等,通过对各自领域的数据进行分析,可以提供深入的业务洞察和决策支持,从而推动相应领域的发展和创新。

总的来说,Python 数据分析在当今信息化时代具有重要的意义和影响,为企业、组织和科学研究等提供了强大的数据处理和分析工具,助力决策、优化业务、推动创新,同时也在未来的发展前景非常广阔,将继续在各个领域中发挥着重要作用。

最简单的数据分析

那么,由浅入深,先从最简单的数据分析开始,举例说明:

假设有一个包含学生成绩的 CSV 文件(scores.csv)

包含学生的姓名、科目和成绩信息。

使用 Python 的 Pandas 库进行数据处理和分析

scores.csv文件

姓名,科目,成绩
张三,数学,80
张三,英语,90
李四,数学,85
李四,英语,92
王五,数学,78
王五,英语,88

统计每个学生的平均成绩

import pandas as pd

# 读取CSV文件
df = pd.read_csv('scores.csv')

# 按姓名分组,计算平均成绩
df_grouped = df.groupby('姓名').mean()

# 打印结果
print(df_grouped)

输出结果:

      成绩
姓名      
张三  85.0
李四  88.5
王五  83.0

以上代码使用 Pandas 的 read_csv 方法读取 CSV 文件,并使用 groupby 方法按照姓名进行分组,然后使用 mean 方法计算每个学生的平均成绩。最后,通过打印结果可以得到每个学生的平均成绩信息。

小总结

这个例子中使用了Pandas库来读取CSV文件,并对成绩数据进行了简单的处理,计算了每个人的平均成绩。除了计算平均成绩,Pandas还提供了丰富的数据操作和分析功能,例如:

  1. 数据筛选与过滤:可以使用Pandas提供的条件筛选、逻辑运算等功能,对数据进行过滤、查询和筛选,以满足特定需求。

  2. 数据排序与排名:可以使用Pandas提供的排序和排名功能,对数据进行排序和排名操作,以便进行数据分析和展示。

  3. 数据聚合与统计:可以使用Pandas提供的聚合和统计函数,例如sum、mean、median、min、max等,对数据进行统计分析,以便获取更多的洞察和结论。

  4. 数据转换与处理:可以使用Pandas提供的数据转换和处理功能,例如数据类型转换、缺失值处理、字符串处理、数据合并、数据拆分等,以便进行数据清洗和预处理。

  5. 数据可视化:可以使用Pandas结合其他可视化库(例如Matplotlib、Seaborn等),对数据进行可视化分析,生成图表、图形和图像,以便更好地理解数据。

  6. 数据统计分析:可以使用Pandas进行数据统计分析,例如描述性统计、假设检验、回归分析、时间序列分析等,以便深入挖掘数据背后的信息和趋势。

  7. 数据合并与连接:可以使用Pandas提供的合并和连接功能,对多个数据表进行合并和连接操作,以便进行数据整合和关联分析。

总的来说,Pandas提供了丰富的数据处理、分析和展示功能,可以在数据分析中广泛应用,从而帮助数据分析人员更加高效地处理和分析数据,得出有价值的结论。

第二个栗子

再写一个

"data.csv" 是一个示例的CSV格式数据文件。

包含了学生的成绩信息,具体的数据格式可能类似如下:

姓名,性别,年龄,语文成绩,数学成绩,英语成绩
张三,男,18,80,85,90
李四,男,19,85,88,92
王五,女,18,90,92,88
赵六,女,19,92,87,95

数据读取与展示:

import pandas as pd

# 读取CSV文件
df = pd.read_csv('data.csv')

# 查看前5行数据
print(df.head())

# 查看数据的基本统计信息
print(df.describe())

# 查看数据的列名
print(df.columns)

# 查看数据的形状
print(df.shape)

数据筛选与过滤:

# 筛选出数学成绩大于80的学生
math_above_80 = df[df['数学成绩'] > 80]

# 筛选出语文成绩大于等于90且数学成绩大于等于90的学生
chinese_math_above_90 = df[(df['语文成绩'] >= 90) & (df['数学成绩'] >= 90)]

数据聚合与统计:

# 计算每个学生的平均成绩
df['平均成绩'] = df.mean(axis=1)

# 按性别分组,计算每个性别学生的平均数学成绩和语文成绩
df_grouped = df.groupby('性别').agg({'数学成绩': 'mean', '语文成绩': 'mean'})

数据转换与处理:

# 将数学成绩从百分制转换为0-10分制
df['数学成绩_0_10'] = df['数学成绩'] / 10

# 填充缺失值
df.fillna(0, inplace=True)

# 将姓名列拆分为姓和名两列
df[['姓', '名']] = df['姓名'].str.split(' ', expand=True)

数据可视化:

# 数据可视化:
import matplotlib.pyplot as plt

from matplotlib.font_manager import FontProperties
font_set = FontProperties(fname='ttf/msyh/msyh.ttf', size=15)
# 设置中文字体
# 绘制柱状图,显示每个学科的平均成绩
bar = df_grouped.plot(kind='bar')

# 设置x轴标签
plt.xticks(range(len(df_grouped.index)), df_grouped.index,fontproperties=font_set)
plt.legend(loc="upper left",prop=font_set)
plt.title('平均成绩',fontproperties=font_set)
plt.xlabel('学科',fontproperties=font_set)
plt.ylabel('平均成绩',fontproperties=font_set)
plt.show()

以上代码示例展示了Pandas在数据分析中的一些常见用法,具体的数据分析场景和需求会根据实际情况有所不同,可以根据实际数据和分析目标,选择合适的Pandas功能进行数据处理、分析和展示。

数据可视化,中文无法显示的问题,解决方案:

设置x轴标签、图例、标题和轴标签的字体属性为font_set,其中font_set是一个FontProperties对象,指定了使用的中文字体和字体大小。

from matplotlib.font_manager import FontProperties
font_set = FontProperties(fname='ttf/msyh/msyh.ttf', size=15)

具体解释如下:

  • plt.xticks(range(len(df_grouped.index)), df_grouped.index,fontproperties=font_set):

  • 这行代码用于设置x轴标签的属性。

  • range(len(df_grouped.index))

  • 生成了一个包含从0到学科数量的整数序列,作为x轴的刻度位置;

  • df_grouped.index作为刻度标签;

  • fontproperties=font_set设置刻度标签的字体属性为font_set,即使用指定的中文字体和字体大小。

  • plt.legend(loc="upper left",prop=font_set):

  • 这行代码用于设置图例的属性。

  • loc="upper left"

  • 指定图例位置为左上角;

  • `prop=font_set

  • 设置图例的字体属性为font_set,即使用指定的中文字体和字体大小。

  • plt.title('平均成绩',fontproperties=font_set):

  • 这行代码用于设置图表的标题属性。

  • '平均成绩'是图表的标题;

  • fontproperties=font_set

  • 设置标题的字体属性为font_set,即使用指定的中文字体和字体大小。

  • plt.xlabel('学科',fontproperties=font_set):

  • 这行代码用于设置x轴标签的属性。'学科'是x轴的标签;

  • fontproperties=font_set

  • 设置x轴标签的字体属性为font_set,即使用指定的中文字体和字体大小。

  • plt.ylabel('平均成绩',fontproperties=font_set):

  • 这行代码用于设置y轴标签的属性。'平均成绩'是y轴的标签;

  • fontproperties=font_set

  • 设置y轴标签的字体属性为font_set,即使用指定的中文字体和字体大小。

通过这些设置,可以确保在绘制柱状图时,x轴标签、图例、标题和轴标签的字体都能正确显示为指定的中文字体和字体大小。

Python经验分享

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

Python学习路线

这里把Python常用的技术点做了整理,有各个领域的知识点汇总,可以按照上面的知识点找对应的学习资源。
在这里插入图片描述

学习软件

Python常用的开发软件,会给大家节省很多时间。
在这里插入图片描述

学习视频

编程学习一定要多多看视频,书籍和视频结合起来学习才能事半功倍。
在这里插入图片描述

100道练习题

在这里插入图片描述

实战案例

光学理论是没用的,学习编程切忌纸上谈兵,一定要动手实操,将自己学到的知识运用到实际当中。
在这里插入图片描述
最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至优快云官方,朋友如果需要可以直接微信扫描下方优快云官方认证二维码免费领取【保证100%免费】。

让你学会之后就能上手做项目的70个python小项目 前言: 不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行。 这里整理了70个Python实战项目列表,都有完整且详细的教程,你可以从中选择自己想做的项目进行参考学习练手,也可以从中寻找灵感去做自己的项目。 小编也为大家准备了全套的python自学视频,获取方式在文末 希望大家将此文章进行分享,转载,让更多需要的朋... 阅读详情

相关推荐

用python做数据分析案例,python数据分析案例教程

Python具有强大的数据处理和分析的功能,但是,想要提高Python数据分析技能,不仅要掌握Python基本语法和常用数据分析库,比如pandas、matplotlib、seaborn库等,还需要不断的实践来提个自己的Python应用技能。提高Python数据分析实践技能的方法多种多样,根据作者多年应用Python进行数据分析的经验,可以分别从工作应用、书籍自学、数据社区这几个方面进行实践,相信通过这些途径来提高你的Python技能,一定能让你有所收获。1. 工作应用实践。

2301_81895257的博客 1025

【笔记】2022.06.20 python数据分析三大神器numpy、pandas、matplotlib

很强

SpriteNym的博客 2333

为什么要用Excel做量化投资

本博客的适用对象:想做一些量化投资,但又不想写代码的普通投资者。 做了20多年的财务和投资。随着年龄的增长,投资风格也逐渐变得稳健,逐步认识到投资不能把简单问题复杂化了,策略应力求简单明了,工具适合自己的就好。 大概从2010年在海外在工作的时候,开始学习量化投资。中间也学过专业的回测工具,如Matlab,以及现在流行的Python。虽然这些都是很好的工具,却总感觉离一般投资者有些遥远。毕竟自己不...

Excel_Quant的博客 1795

【详解】机器学习库-Matplotlib+Numpy+Pandas

机器学习库-Matplotlib+Numpy+Pandas 1 Matplotlib基本使用 官方文档:https://matplotlib.org/stable/api/index.html#modules 1.1 特性 强大的数据可视化工具和作图库,是主要用于绘制数据图表的Python库,提供了绘制各类可视化图形的命令字库、简单的接口,可以方便用户轻松掌握图形的格式,绘制各类可视化图形。 基于Numpy的一套Python包,这个包提供了吩咐的数据绘图工具,主要用于绘制一些统计图形。 有一套允许定制各种

一个内容严谨、方向前沿、极具实践价值的AI大模型技术分享站 1627

机器学习的学习准则(期望风险最小化、经验风险最小化、结构风险最小化)

要评价模型f(x, θ)的好坏,可通过期望风险R(θ)来衡量:求期望损失R(θ)不仅需要知道损失函数还需要知道真实分布,损失函数可以通过一定的准则计算得到,但是样本空间的真实分布是未知的。所以不能直接求R(θ)。期望风险R(θ)无法计算,给定一个训练集D =,我们可以计算经验风险,经验风险就是在训练集上的平均损失:为了解决过拟合问题,引入了参数正则化来限制模型的能力。使其不要过度的最小化经验风险。这种准则就是结构风险最小化准则

... 2225

QtWebApp的使用【在Qt中搭建HTTP服务器】(一)

用Qt和QtWebApp能够实现在C++中开发HTTP Web服务器应用程序。 首先,需要先安装Qt的软件开发工具包。点此下载 其次,下载最新的QtWebApp库。点此下载 下载并解压缩QtWebApp ZIP文件。你将会看到: 如何使用QtWebApp 1)将QtWebApp.zip文件解压到文件夹中,并创建一个名为“ MyFirstWebApp”的新Qt控制台项目。然后,建立如下文件结构: 2)将以下行添加到MyFirstWebApp项目的项目文件中: QT += network include(

饭的笔记本 2万+

python商品销售情况数据分析_4-python数据分析-淘宝婴儿用品分析项目

加载购买商品表的数据购买商品表字段信息:用户ID 商品ID 商品二级分类 商品一级分类 商品属性 购买数量 购买日期importpandas as pdimportnumpy as npimportmatplotlib.pyplot as pltfrom pandas importSeries, DataFrame%matplotlib inline 魔法指令#导入数据buy = pd.read_...

weixin_40004081的博客 1320

Java写项目前的准备工作指南(技术栈选择 环境搭建和工具配置 项目结构设计与模块划分)

在开始编写一个 Java 项目之前,做好充分的准备工作是至关重要的。很多初学者可能在没有清晰规划的情况下就开始编写代码,导致项目开发进度缓慢、结构混乱,甚至最终无法按预期完成。而事实上,项目的成功不仅仅取决于编码能力,还包括项目初期的规划和准备。准备工作是确保项目顺利进行的基础,它包括技术选型、环境搭建、需求分析、团队协作及项目管理等多个方面。通过这些准备,我们可以确保项目的开发不仅高效而且有可维护性,最终能交付出高质量的代码。在项目开发过程中,异常处理是非常关键的一部分。

eternal__day的博客 1188

Pandas 模块-操纵数据(10)-数据分组 .groupby()

大家如果用过数据库,肯定对 group by 命令很熟悉,Pandas 的 .groupby() 函数作用和数据库中的 group by 非常相似。它会将 DataFrame 数据根据一定的规则进行分组,返回给用户一个 groupby 对象,这个对象包括了不同组的相关信息。

一分耕耘一分收获 6285

[QMT和ptrade量化交易小白入门]-112、小市值热点概念交易策略,回测5年20倍

本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 1080

RK3568笔记九十四:基于QT的YOLOV5目标检测

基于RK3568平台的实时目标检测应用,使用YOLOv5模型和RKNN推理引擎实现摄像头实时目标检测,并通过Qt界面显示检测结果。主要功能实时摄像头目标检测:从摄像头获取视频流,使用YOLOv5模型进行目标检测RKNN推理加速:利用RK3568内置的NPU进行模型推理加速图形界面显示:使用Qt框架构建用户界面,实时显示检测结果RGA图像处理:使用Rockchip Graphic Accelerator进行图像缩放处理。

523

如何用python做数据分析?

常遇到两类朋友。一类是会爬虫但不知道如何进一步做数据分析的,一类是平常用 Excel 做分析但不太会用 Python 分析的。如果和你很像,那下面这篇系统长文会很适合你,。Excel 是数据分析中最常用的工具,本文通过 Python 与 excel 的功能对比介绍如何使用 Python 通过函数式编程完成 excel 中的数据处理及分析工作。

lvaolan的博客 1万+

Python爬虫实战:如何爬取京东商品评论数据

在本文中,我们介绍了如何使用 Python 爬虫技术爬取京东商品的评论数据。首先,我们分析了京东商品评论的 API 接口和 JSON 数据结构,然后编写了爬虫程序来抓取评论数据,并将数据保存到 CSV 文件中。接着,我们进行了一些基本的数据分析,包括评分分布和简单的情感分析。爬取京东商品评论的数据可以为电商分析、情感分析等提供有价值的信息。你可以在此基础上进行更深入的分析,挖掘更多的商业价值。希望本篇教程能够帮助你了解如何利用 Python 进行电商数据的爬取和分析!

2201_76125261的博客 1647

【优质书籍推荐】Python数据分析快速上手与项目实战

本文深入讲解了Python数据分析优质书籍:《Python数据分析快速上手》,希望能对学习Python和数据分析的同学们有所帮助。 文章目录 1. 前言 2. 书籍推荐 2.1 内容简介 2.2 本书作者 2.3 本书目录 2.4 适合读者 3. 购买链接

herosunly的博客 3万+

【人工智能】架构演进:基于本体论与 LLM Agent 的供应链备件决策闭环实践

本文探讨了如何将本体论(Ontology)与大语言模型(LLM)Agent结合,构建供应链备件管理的智能决策系统。针对LLM在垂直领域存在的幻觉和逻辑缺陷问题,提出通过本体论建立结构化知识框架,形成四层架构:知识建模、动态感知、深度分析和决策闭环。系统利用图数据库实例化领域本体,融合多源数据实现实时感知,结合图谱推理和时序预测进行确定性分析,最终通过工具调用完成决策执行。技术选型推荐Gemini 1.5 Pro、Neo4j和LangChain等工具,实现从自动化到智能化的升级。该架构为工业领域提供了可解释、

奶爸的编程之路,也就一周冷个三天 170

全网最全RT-DETR涨点改进,基于官方源码1:1还原,在Ultralytics项目中配置rtdetr-r18、rtdetr-r34、rtdetr-r50、rtdetr-r101版本~小论文大论文必备

本文详细介绍了如何将RT-DETR的ResNet18/34/50/101/154版本移植到ultralytics项目中。主要内容包括:1) RT-DETR核心特点,如高效混合编码器、IoU感知查询选择等;2) 提供完整ResNet核心代码;3) 分步配置指南,包括创建模块文件和修改tasks.py;4) 各版本yaml配置文件的创建方法。该方案可帮助研究者快速实现RT-DETR改进,适用于目标检测相关论文研究。所有配置文件均可正常运行,为实验部署提供了便利。

Ai缝合怪、助力小伙伴高效发论文 3930

【送书福利-第三十六期】《Python数据分析快速上手》

【送书福利-第三十六期】《Python数据分析快速上手》

1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

为什么要用Python做数据分析

不清楚你们是否知道,在这个信息化的时代,一种叫做数据分析师的职业越来越火了~如果有个人给你京东一整年的购物数据,你觉得这些数据可以卖多少钱?这些数据在电商巨头手里可能价值不下于十亿。在电商巨头手里他们可以通过这些来优化自己的推荐算法。通过每个用户的购物数据来对用户建立用户画像,打上程序员或者宝妈 甚至老人。你近期买了一个猫砂盆,判断你养了猫,于是首页给你推猫粮你近期买了一台电脑,于是首页疯狂给你推键盘鼠标。。。。。。

m0_59164304的博客 612

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

鱼哥赠书活动第17期:看完这本《Python数据分析》菜鸟也能做Python数据分析?

纪贺元:本科毕业于大连理工大学计算机系,硕士毕业于复旦大学。长期从事数据分析培训和咨询工作,擅长Excel、VBA、Python、Sql、Powerbi工具等的开发和培训。精通统计分析和数据建模,擅长数据分析、数据建模和优化、机器学习和深度学习等。Python基础篇 1第1章 学习Python的好处 21.1 Python的特色 21.1.1语句简单易懂 31.1.2 几乎包罗万象的包 41.1.3 超高的知名度和应用面 51.2 学习Python的收获 61.2.1 工作效率的提升 6。

Aluxian_的博客 3016

深度学习工具包 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'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('DeepLearnToolbox'));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('state',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'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',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 = 'sigm';%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, 'Too big error');```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('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';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)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';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, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% 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'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 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, 'Too big error');```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('state',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, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',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, 'Too big error');%% ex3 neural net with dropoutrand('state',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, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % 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, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % 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, 'Too big error');%% 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('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % 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, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

如何快速上手Python,成为一名数据分析师

520快乐!喜欢Python的小伙伴有福啦,本期博主给大家推荐一本入门Python的热门书籍,快来看看吧~

AIGC 3万+

用python做数据分析代码,python做简单的数据分析

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python!👉。

S1112_的博客 1052
上一篇: 8个Python高效数据分析的技巧!(附完整代码)
下一篇: 薪资高,福利好,会Python的人就是这么豪横!
壹只小小码农
博客等级 码龄5年 8101粉丝 1334原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值