3小时入门numpy,pandas,matplotlib

python数据分析——numpy,pandas,matplotlib matliotilb:帮助画图 numpy:帮助我们处理数据型的数组 pandas:是在numpy的基础上除了帮我们处理数据型的数组,还能帮助我们处理字符串,列表,以及时间序列等等所有数据类型都是可以处理的 一,数据分析是用适当的方法对收集来的大量数据进行分析.(帮助人们做出判断,以便采取适当行动) 二,数据分析的流程: 1.提出问题 2.准备数据 3.分析数据 4.获得结论 5.成果可视化(图表或者文字等) 三,环境anaconda jupyter notebook ma. 阅读详情

使用Python中的三个库可以优雅地进行数据分析,得到一只野生的Matlab,这三个库是numpy,pandas 和 matplotlib。

numpy是高性能科学计算和数据分析的基础包,其array多维数组拥有丰富的数据类型,基于向量化技术可以有效代替循环,代码简单速度极快。

以numpy为基础的pandas中的数据框dataframe集数据分析工具万象于一身,可以像array数组一样进行复杂计算,又可以像excel一样地操作数据,又可以像SQL一样地操作数据。

而matplotlib进一步以matlab风格实现了绘图功能。其强大的数据可视化能力可以让你的数据分析结果颜值倾城。

一、numpy 库

numpy提供了三种常用的对象,数组array、矩阵matrix和ufunc(universal function)。

1,创建array

2,访问array元素

3,array运算

4,使用matrix运算

5,使用ufunc对象

二、pandas 库

pandas中的DataFrame是交互性最好在数据分析中使用最广泛的数据结构。

pandas 中常用的数据结构有:

(1)Series:一维数组,与Numpy中的一维array类似。

Series中只允许存储相同的数据类型。

(2)DataFrame:二维的表格型数据结构。

可以将DataFrame理解为Series的容器。

(3)Panel :三维的数组,可以理解为DataFrame的容器。

1,Series对象

2,创建DataFrame对象

3,从excel中读入DataFrame对象

4,增加行

5,删除行

6,增加列

7,删除列

8,移动列

9,排序

10,拼接

11,选取数据

有三种选取数据的方法:下标索引、标签索引、布尔索引。

12,导出到csv文件或excel文件

13,常用统计函数

14,时间格式

三,matplotlib 库

matplotlib 支持函数式绘图和面向对象绘图两种绘图方式。

函数式绘图方式与matlab风格一致,先用一条语句画出图像,然后用一系列函数去修饰。而面向对象绘图方式一般自上而下完成,先创建figure,然后再创建子图ax,然后绘制data,最后设计各种辅助元素 (包括 xaxis, yaxis, title, grid,legend, annotate 等 )。

1,折线图

2,条形图

3,柱形分布图

4,散点图

5,饼图

6,绘制子图

Appendix:Ipython notebook 常用快捷键

  • Tab  对象补全

  • Shift + Tab 对象提示帮助

  • Ctrl + Enter 运行当前cell

  • Shift + Enter 运行当前cell,并选中下一个cell

  • Alt + Enter 运行当前cell,并在下方创建一个空的cell

  • Esc * M 切换成markdown输入状态

  • Esc * A 在上方插入cell

  •  Esc * B 在下方插入cell

Python的那些事第十五篇:数据分析中的“三剑客”NumPy、Pandas与Matplotlib 在数据分析的世界里,有三位“大侠”常常携手并肩,共同应对各种复杂的数据挑战。它们就是NumPy、Pandas和Matplotlib。这三位“大侠”各怀绝技,相互配合,让数据分析变得轻松又有趣。今天,就让我们走进它们的“江湖”,一探究竟。 阅读详情

相关推荐

Mac如何安装numpy,pandas,matplotlib,spicy等包,以及下载速度慢遇到read timed out问题如何解决

花了三个小时,查找了网上七零八落的解决方法,现在做如下总结: 首先打开终端,输入下面的代码对pip进行升级 python3 -m pip install –upgrade pip 升级结束后设置pip清华大学的镜像加速: 第一步输入:pip install pip -U 第二步输入:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 设置完毕之后就可以开始高速安装各种包 代码如下: Numpy:python3 -

sense998的博客 7313

数据分析:Python库之numpy、pandas、matplotlib

模块(Module)是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句,能够有逻辑地组织 Python 代码段。把相关的代码分配到一个模块里能让Python代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。 模块定义好后,使用 import 语句来引入模块,语法:import module_name1[, module_name2,...] python的常用模块有numpy、pandas、matplotlib等等。 一、numpy

weixin_44458771的博客 6921

NumPy+Pandas+Matplotlib数据可视化底层原理与实战

数据可视化不仅是图表生成,更是从原始数据到业务洞察的系统性工程。其核心依赖于NumPy的内存连续性与向量化计算、Pandas的结构化数据建模能力以及Matplotlib面向对象的视觉控制机制。理解这三者协同工作的底层原理——如NumPy dtype对内存与性能的影响、Pandas Series/DataFrame如何承载数据语义、Matplotlib Axes如何实现像素级渲染——是构建可复现、可维护、可交付图表的前提。该技术栈在资源受限环境(如2GB内存服务器)、Kaggle竞赛、教学演示及决策支持报告中

514

Python数据分析利器:NumPy、pandas与Matplotlib库---之Matplotlib

第1行代码中的plt.subplots(nrows=2,ncols=2)(也可以简写为plt.subplots(2,2))就表示绘制2行2列共4张子图,它会返回两个内容:fig(画布)和axes(子图集合,以数组形式存储各张子图)。例如,subplot(221)表示绘制2行2列的子图(共4张子图),当前绘制的是第1张子图,如下图所示。从前面的介绍可知,可以在一张图表里绘制两条线,但如果两条线的取值范围相差较大,那么绘制出的图表效果会不美观,此时需要采用双坐标轴来呈现图表,即为两条线各自绘制y轴。

2401_84271190的博客 2655

数据科学入门四库实战:pandas、numpy、matplotlib、seaborn零基础通关指南

数据科学不是从建模开始,而是从理解‘数据如何被代码读取、识别、清洗和可视化’这一基础过程起步。核心在于掌握结构化数据操作(pandas)、数值计算底层(numpy)、基础绘图引擎(matplotlib)与高级统计可视化(seaborn)的协同逻辑。这四大库构成新手最轻量、最高容错、最贴近真实工作流的技术栈,支撑起加载→探索→清洗→图表的完整闭环。它们共同解决初学者最痛的三大障碍:环境配置失败、read_csv报错、报错信息看不懂。尤其适合仅会复制粘贴但渴望跑通第一个端到端分析流程的转行者与业务人员——无需数

weixin_34396902的博客 396

数学建模实战:Pandas、Numpy、Matplotlib与JSON工具链整合应用

在数据科学和数学建模领域,高效的数据处理与分析流程是项目成功的基石。其核心原理在于将原始数据通过一系列标准化的操作,转化为可供模型使用的结构化信息,并最终通过可视化呈现洞察。这一过程的技术价值在于极大地提升了从数据到结论的迭代效率与可复现性,是机器学习、统计分析等高级应用的底层支撑。典型的应用场景包括商业数据分析、科研计算以及各类预测建模任务。本文聚焦于数学建模集训的实战阶段,详细阐述了如何将Pandas、Numpy、Matplotlib与JSON这四个关键工具进行深度整合,构建从数据加载、清洗计算到结果展

weixin_34357887的博客 455

numpy 建立空数组_3小时入门numpy,pandas,matplotlib

使用Python中的三个库可以优雅地进行数据分析,得到一只野生的Matlab,这三个库是numpy,pandas 和 matplotlib。numpy是高性能科学计算和数据分析的基础包,其array多维数组拥有丰富的数据类型,基于向量化技术可以有效代替循环,代码简单速度极快。以numpy为基础的pandas中的数据框dataframe集数据分析工具万象于一身,可以像array数组一样进行复杂计算,...

weixin_39720510的博客 188

【Python数据挖掘课程】六.Numpy、Pandas和Matplotlib包基础知识

前面几篇文章采用的案例的方法进行介绍的,这篇文章主要介绍Python常用的扩展包,同时结合数据挖掘相关知识介绍该包具体的用法,主要介绍Numpy、Pandas和Matplotlib三个包。目录: 一.Python常用扩展包 二.Numpy科学计算包 三.Pandas数据分析包 四.Matplotlib绘图包 希望这篇文章对你有所帮助,尤其是刚刚接触数据挖掘以及大数据的同学,这些基础知识真的非常重要。如果文章中存在不足或错误的地方,还请海涵~

杨秀璋的专栏 3万+

vi创建一个3列4行的二维数组_3小时入门numpy,pandas,matplotlib

使用Python中的三个库可以优雅地进行数据分析,得到一只野生的Matlab,这三个库是numpy,pandas 和 matplotlib。numpy是高性能科学计算和数据分析的基础包,其array多维数组拥有丰富的数据类型,基于向量化技术可以有效代替循环,代码简单速度极快。以numpy为基础的pandas中的数据框dataframe集数据分析工具万象于一身,可以像array数组一样进行复杂计算,...

weixin_39860849的博客 4429

零基础入门数据分析!NumPy+Pandas+Matplotlib 实战全攻略(附代码 + 详解)

官方文档:NumPy/Pandas/Matplotlib 官网(中文翻译版)练习数据集:Kaggle 入门数据集、阿里云天池工具:Jupyter Notebook(全程实战),不可逆权重分配:Pandas 占 60% 精力,重点练数据清洗、分组聚合学习节奏:4 周,每天 1-2 小时,边敲代码边学恭喜你!学完这篇文章,你已经掌握了数据分析三剑客的入门核心技能,能独立完成数据读取、清洗、统计、可视化全流程!入门标准:能独立完成本文的电商 / 成绩分析项目进阶路线。

2501_92464201的博客 1136

YOLOv8中的C2f模块代码详解

在YOLOv8网络结构中,C2f模块(CSP Bottleneck with 2 Convolutions)是一个关键组件,用于实现跨阶段部分聚合

zzzyyy8的博客 3万+

三个月内,从机器学习小白直接到面试实习

摘要:本文分享了一个从零基础到获得机器学习实习offer的三个月速成计划。计划分为三个阶段:1-4周掌握Python基础和数据处理;5-8周学习核心算法并完成入门项目;9-12周深耕实战项目并准备面试。作者强调避免三大误区:过度理论、贪多求全和忽视实战,建议每天投入1-2小时专注核心内容。文中提供了具体的学习路径、项目建议和GitHub资源,帮助新手高效准备面试。

weixin_65004014的博客 394

PCB设计必看:铜皮厚度与载流能力对照表(附Excel计算工具)

本文深入解析了PCB设计中铜皮厚度与载流能力的核心关系,提供了基于IPC-2152标准的动态计算逻辑与实用Excel工具。文章不仅分享了载流对照表,更重点剖析了影响载流能力的关键因素(如铜厚、线宽、温升、布线层),并给出了高电流设计的实战技巧与测试验证方法,帮助工程师规避常见陷阱,实现从理论到实践的闭环设计。

weixin_29228781的博客 726

Python 与数据科学工具链入门:NumPy、Pandas、Matplotlib 快速上手

本文介绍了Python数据科学三大核心工具(NumPy、Pandas、Matplotlib)的快速入门方法。首先强调了工具链的重要性,指出NumPy提供高效的数值计算,Pandas简化数据处理,Matplotlib实现数据可视化。文章详细讲解了如何搭建开发环境(推荐Anaconda),并通过实际代码示例演示了NumPy数组操作、Pandas数据框处理以及数据清洗技巧。这些工具共同构成了机器学习项目的基础设施,掌握它们能显著提高数据分析和建模效率。

htw250056的博客 4396

AXI backpressure反压机制代码

本文将xilinx的axi读写代码进行修改,实现吞吐量达到50%

m0_64636251的博客 1767

RK3588视频转码实战:如何用FFmpeg+MPP实现16路1080P硬解压(附完整命令)

本文详细介绍了如何在RK3588处理器上使用FFmpeg和MPP框架实现16路1080P视频的硬件加速转码。通过解析RK3588的视频处理架构、环境搭建步骤和实战配置,提供了完整的命令示例和性能调优建议,帮助开发者高效处理多路视频转码任务。

weixin_29233333的博客 556

Python数据分析(Matplotlib、NumPy、Pandas)

Python数据分析三剑客:NumPy、Matplotlib、Pandas,入门笔记,视频教程参考B站黑马程序员

houjingchuan的博客 1681

小波变换(Wavelet Transform)原理及介绍

小波变换是一种多分辨率时频分析工具,克服了傅里叶变换无法定位时间信息的缺陷。通过可伸缩平移的母小波,它能同时捕捉信号的高频细节(短时特征)和低频轮廓(整体趋势)。其核心原理是利用不同尺度的小波基与信号进行内积运算,生成时频域系数矩阵。小波变换具有动态分辨率特性,高频部分时间精度高,低频部分频率分辨率好。主要应用包括瞬态事件检测、信号降噪、数据压缩(如JPEG2000)和压缩感知(如快速MRI)。

qq_42758052的博客 5496

python数据分析学习笔记之matplotlib、numpy、pandas

数据分析相关,为机器学习打基础,磨刀不误砍柴工,加油!

cx-young的博客 3012

用FSL的eddy_topup pipeline完整处理DTI数据:从原理到实战,搞定涡流和磁化率畸变

本文详细介绍了如何使用FSL的eddy_topup pipeline完整处理DTI数据,解决涡流和磁化率畸变问题。从原理到实战,涵盖了数据格式转换、脑提取、b0图像处理等关键步骤,并提供了acqparams.txt配置和eddy命令的详细解析,帮助研究人员高效完成DTI数据校正。

weixin_29235525的博客 286

ArcGIS图解建模工具与DEM提取山脊、山谷线(水文分析、表面分析)

参考汤国安、杨昕等编著的《地理信息系统空间分析实验教程第二版》 利用水文分析(流量)和表面分析(坡向变率)得到山脊和山谷线 文章目录1、基本概念1.1 正地形1.2 负地形正负地形的影响2、水文分析方法2.1 基本思想原理2.2 技术路线2.3 操作步骤2.3.1 正负地形的提取2.3.2 利用水文分析思想和工具提取研究区域的山脊线2.3.3 利用水文分析思想和工具提取研究区域的山谷线2.3.4 利用水文分析提取山脊线和山谷线结果3、表面分析方法3.1 基本思想原理3.2 技术路线3.3 操作步骤4、图.

fungis 1万+

Python数据分析-Numpy,Matplotlib,Pandas

Python数据分析 纲要 基础概念和环境 matplotlib 画图 numpy 处理数值型数组 pandas 处理数值型数组、字符串、时间序列、列表、字典等数据类型 一、综述 1、为什么要学习数据分析 有岗位需求 是Python数据科学的基础 是机器学习课程的基础 2、什么是数据分析 数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。 数据分析流程: 提出问题→准备数据→分析数据→获得结论→成果可视化/文字/报告 3、环境安装 创建环境:conda creat——

qq_43210525的博客 2221

基于滤波反投影的图像重建算法matlab仿真

基于滤波反投影的图像重建算法是一种用于医学影像重建的计算机辅助技术。该算法可以从投影数据中重建出高质量的三维图像,被广泛应用于医学影像学、CT、PET等领域。本文将详细介绍基于滤波反投影的图像重建算法的原理、步骤和应用。一、原理介绍基于滤波反投影的图像重建算法基于X射线CT成像原理,它的主要思想是通过对投影数据进行处理,反推出被成像物体的三维形状。其核心原理是投影数据与目标物体之间的线性关系,即通过估计目标物体的吸收率来计算投影数据的变化,从而反推出目标物体的三维形状。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 386

4小时学完Python数据分析入门笔记(一) Data Analysis with Python(Numpy, Pandas, Matplotlib, Seaborn)

4小时学完Python数据分析入门笔记(一)写在前面数据分析是什么数据分析流程数据分析实例小节 写在前面 作为一个数据科学专业的学生,最近总在做深度学习和前端,想想暑假还是要再看看数据科学的东西。找到freecodecamp.org + RMOTR的Python数据分析课,全视频4小时22分钟,复习一下做个笔记。以下内容斜体和(括号)部分仅为我个人的想法或补充,图片和其他文字为视频截图和中文翻译。估计要分几次发完,转载标明出处。 原视频链接:https://www.youtube.com/watch?v=r

AlisonYao的博客 963

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python数据分析三件套:Numpy+Pandas+Matplotlib从入门到实战

数据分析是现代业务决策中不可或缺的一环,而高效的工具链能够让整个流程事半功倍。在Python生态中,Numpy作为高性能数值计算库,奠定了数组运算与向量化计算的底层基础;Pandas则提供了强大的数据处理与清洗能力,支持结构化数据的高效操作;Matplotlib负责将复杂结果转化为直观的可视化图表。三者协同工作,覆盖了从数据读取、清洗、分组聚合、透视分析到图形展示的全流程,是许多行业高频使用的解决方案。无论是处理Excel无法负荷的大体量数据,还是构建自动化分析报告,这套开源免费的工具组合都表现出极强的实用

weixin_34056162的博客 363

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Python经典图像绘制:Matplotlib+NumPy+Pandas协同实战

图像绘制是数据可视化的基础能力,其核心在于理解数据生成、组织与呈现的完整链路。NumPy提供高效数值计算与向量化支持,Pandas实现结构化数据清洗与智能索引,Matplotlib则通过面向对象API确保跨平台、高精度、可复现的视觉输出。这种组合不仅支撑学术论文图表、工业报表、运维监控等专业场景,更构成Plotly、Seaborn等高级库的底层依赖。掌握经典绘制,意味着能规避中文乱码、时间轴偏移、内存泄漏、导出失真等高频工程问题,实现从‘能画’到‘稳画’‘准画’‘可交付画’的跃迁。

weixin_34166472的博客 390

深度学习工具包 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")

上一篇: 3小时Python入门
下一篇: pandas的dataframe如何更改数据类型?
算法美食屋
博客等级 码龄9年 2万+粉丝 154原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值