数据挖掘Python基础之NumPy基础(上)

Python numpy数据挖掘实验 数据挖掘实验 1. 导入模块numpy并以np作为别名,查看其版本 问题:导入模块numpy并以np作为别名,打印版本号 import numpy as np print(np.__version__) 1.16.2 2. 如何创建一个一维数组? 问题:创建一个含有从0到9数字的一维数组,并输出答案: import numpy as np arr=np.arange(10) print(arr... 阅读详情

前言

时隔两个月,我又回来了,期间发生了很多很多的事情,也曾对自己产生了怀疑,对自己的坚持产生了怀疑。不过在颓废之后总是奋进,而生活也要继续,只能以“雄关漫道真如铁,而今迈步从头越”来自勉了。正好回家居家隔离,我要立一个flag日更。。。

之前我们已经学习了Python的一些语法基础,包括Pyhton的基础数据结构,函数与文件读写以及Pyhton面向对象的内容。接下来我们将面向数据挖掘学习一些常用的包,其中NumPy是最为重要的数值计算的 基础包。

ndarray

ndarray是一种高效多维数组,提供了基于数组的便捷算术操作以及灵活的广播功能,如下我们可以快速生成一个2*3的数组。

import numpy as np


data = np.random.randn(2, 3)
print(data)

其结果为

[[ 0.52828809  0.75873811 -0.81223681]
 [ 2.13722235  0.40123476 -0.07276397]]

通过以上方法我们很简单就生成了2x3的数组,其实ndarray就是一个通用的多维数组容器,它包含的元素都是同一类型的,我们可以通过它的shape属性来查看数组的维数,通过dtype属性来查看它的数据类型。例子如下

import numpy as np

data = np.random.randn(2, 3)
print(data.shape)
print(data.dtype)

其结果如下

(2, 3)
float64

生成ndarray

生成ndarray最简单的方法就是array函数,array函数接受任意的序列型对象,生成一个新的包含传递数据的NumPy数组。例子如下:

import numpy as np

data1 = [1, 2, 3, 4]
data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]
arr1 = np.array(data1)
arr2 = np.array(data2)
arr1 = arr1 * 10
arr2 = arr2 + arr1
print(arr1)
print(arr2)

其结果如下

[10 20 30 40]
[[11 22 33 44]
 [15 26 37 48]]

我们可以看到array函数将数组转化成为了ndarray,同时也看到了ndarray对于数组运算的简化,省去了大量的for循环。

我们还可以通过zeros创造全0数组,ones来创建全1数组以及通过empty来创建没有初始化值的数组。代码如下

import numpy as np

arr1 = np.zeros(10)
arr2 = np.zeros((5, 2))
print(arr1)
print(arr2)

其结果如下

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[[0. 0.]
 [0. 0.]
 [0. 0.]
 [0. 0.]
 [0. 0.]]

当我们使用empty来创建数组时需要注意,有时候会返回未初始化的垃圾数值。

代码如下

import numpy as np

arr1 = np.empty(10)
arr2 = np.empty((5, 2))
print(arr1)
print(arr2)

结果如下

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[[6.95006917e-310 1.29189234e-316]
 [5.39246171e-317 5.39246171e-317]
 [6.95006798e-310 6.95006795e-310]
 [5.39246171e-317 5.39246171e-317]
 [5.39247752e-317 6.95006795e-310]]

索引基础和切片

一维数组的索引和切片比较简单,和Python的列表的切片很类似。
代码如下

import numpy as np

arr1 = np.arange(10)
arr2 = arr1[5:8]
print(arr1)
print(arr2)

需要注意的是对于数组的切片是原数组的视图,这意味着数据并没有被复制,任何对于视图的修改都会反映到原数组上,其原因是ndarray是用来处理大规模数组的,所以可以想象对于数组的复制的开销会很大。

代码如下

import numpy as np

arr1 = np.arange(10)
arr1[5:8] = 12
print(arr1)

结果如下

[ 0  1  2  3  4 12 12 12  8  9]

多维数组的切片索引和单维数组的切片索引原理是一样的,只不过单维数组的切片的元素是数字,而多维数组切片的元素是单维数组或者多维数组。

代码如下

import numpy as np

arr1 = np.random.randn(3, 3)
print(arr1)
print(arr1[:2])

结果如下

[[ 0.60673463 -0.84261761 -0.55674384]
 [ 1.49376061 -1.23850612 -0.10686775]
 [ 1.3516511  -0.65024839 -1.68451601]]
 
[[ 0.60673463 -0.84261761 -0.55674384]
 [ 1.49376061 -1.23850612 -0.10686775]]

我们可以把[ 0.60673463 -0.84261761 -0.55674384] [ 1.49376061 -1.23850612 -0.10686775]
[ 1.3516511 -0.65024839 -1.68451601] 看作三个元素,而arr1[:2]就是取前两个元素。

对于多维数组我们还可以进行多组切片

代码如下

import numpy as np

arr1 = np.random.randn(3, 3)
print(arr1)
print(arr1[1:, :2])

结果如下

[[ 1.51132511 -0.16890946 -0.78987301]
 [ 0.41426026 -0.09105493  1.44744887]
 [ 1.79046674  0.27690028  1.31201169]]
 
[[ 0.41426026 -0.09105493]
 [ 1.79046674  0.27690028]]

在数组的切片中我们还可以传入布尔值,实现更加灵活的操作,其中布尔数组的长度必须和数组轴索引长度一致。

代码如下

import numpy as np

names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])
data = np.random.randn(7, 4)
print(names == 'Bob')
print(data[names == 'Bob'])

结果如下

[ True False False  True False False False]

[[ 1.20875931  0.54870492 -0.45572233 -0.58897014]
 [-1.42004058 -0.81150623  1.03740228  0.91427144]]

从以上结果我们可以看出,数组索引传入布尔值就是返回为true的行。

我们也可以通过传入布尔值对数组进行多组切片

代码如下

import numpy as np

names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])
data = np.random.randn(7, 4)
print(names == 'Bob')
print(data[names == 'Bob', :3])

结果如下

[ True False False  True False False False]
[[ 1.08094968 -0.29838004  0.80950847]
 [ 0.10917791  0.79569972  0.47027354]]

需要注意的是Python的关键字and和or对于布尔值数组是没用的,必须使用&和|来代替。

数组的转置和换轴。

数组的转置可以通过T来实现, 通过dot来计算内积

代码如下

import numpy as np

arr = np.arange(15).reshape((3, 5))
print(arr)
print(arr.T)
print(np.dot(arr, arr.T))

结果如下

[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
 
[[ 0  5 10]
 [ 1  6 11]
 [ 2  7 12]
 [ 3  8 13]
 [ 4  9 14]]
 
[[ 30  80 130]
 [ 80 255 430]
 [130 430 730]]

ndarray还可以通过transpose来传入轴的编号来进行换轴

代码如下

import numpy as np

arr = np.arange(16).reshape((2, 2, 4))
print(arr)
print(arr.transpose(1, 0, 2))

结果如下

[[[ 0  1  2  3]
  [ 4  5  6  7]]
 [[ 8  9 10 11]
  [12 13 14 15]]]
  
[[[ 0  1  2  3]
  [ 8  9 10 11]]
 [[ 4  5  6  7]
  [12 13 14 15]]]

最后

多则惑,少则得。更多精彩内容可以关注公众号QStack,追寻最纯粹的技术,享受编程的快乐。

Python数据挖掘与机器学习-03 初识Numpy 官方文档,请访问:NumPy 中文 如果您还没有安装python,请访问:Download Python | Python.org Numpy是什么 Numpy是用python进行科学计算的基础软件包。且Numpy提供了真正的数组功能(python并没有提供数组功能),以及对数据快速处理的函数。Numpy还是很多更高级的拓展库的依赖库,例如:Scipy, Matplotlib, Pandas等。此外,值得一提的是:Numpy内置函数处理数据的速度是C语言级别的,因此编写程序时,应尽量使用内置函数... 阅读详情

相关推荐

Python数据挖掘基础

文章目录库的安装一、jupyter notebook使用二、Matplotlib1.介绍2.三层结构3.折线图4.多坐标系5.数学函数6.散点图 scatter7.柱状图 bar8.直方图 histogram9.饼图 pie10.总结三、Numpy1.介绍2.ndarray3.优势4.属性5.使用一.基本操作1.生成数组2.数组的索引、切片3.形状修改4.类型修改5.数组去重二.ndarray运算1.逻辑运算2.统计运算3.数组间运算4.矩阵运算5.合并、分割6.IO操作与数据处理 库的安装 matpl

m0_56969616的博客 1025

多维数据与计算(numpy库)知识点归纳总结及练习题

数据科学技术与应用第二章知识点归纳总结及练习题

cgrs5572的博客 1732

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

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

杨秀璋的专栏 3万+

数据科学技术与应用——第2章 多维数据结构与运算

Python内部实现数组与标量相加时,使用“广播机制”先将标量5转换成元素值为5的5 x 7二维数组,再将scores和新生成的数组按位相加,等价于以下代码。例题[2-9] 生成均值为0、方差为1服从正态分布的4 x 5二维数组。生成5x6的二维随机整数,随机数的数值是0或1.数组的元素值随机生成,范围内的整数数组,数组的大小由参数。范围内各整数出现的概率相等。

m_de_g的博客 2964

RK3308B开发板WiFi+蓝牙一体模组RTL8821CS驱动移植保姆级教程(含DTS配置与避坑点)

本文提供RK3308B开发板RTL8821CS WiFi+蓝牙模组驱动移植的完整教程,涵盖SDK环境配置、DTS设备树设置、内核编译优化及功能验证全流程。重点解析引脚复用冲突、电源管理等关键配置,并给出常见错误解决方案,帮助开发者快速实现双模通信功能。

weixin_42531163的博客 399

EB tresos配置指南:CAN通信信号收发全流程解析

本文详细解析了使用EB tresos配置工具实现AUTOSAR架构下CAN通信信号收发功能的全流程。从环境准备、COM模块信号定义、PduR路由配置、CanIf硬件抽象到CAN驱动层设置,提供了清晰的步骤指南和关键配置要点,帮助开发者快速打通从应用层到物理层的数据链路,实现可靠的CAN通信。

weixin_29192141的博客 512

数据挖掘 numpy进阶之技巧和提示

为什么80%的码农都做不了架构师?>>> ...

weixin_33915554的博客 158

超级详细的H3C模拟器HCL的交换机Telnet服务配置过程(图文)

VC++2017 MFC关于一个电话机房配线架进线出线节点数据库管理的程序 机房数据库原来是一个EXCEL表,查询,输入数据不方便。现用access数据库ODBC访问。平常没编过程序,编个程序练练手。记录一下学习中的问题,和解决方法,供大家分享,讨论,以便共同进步。希望多提宝贵意见,携手提高代码水平。 程序写的很不规范,代码冗余,显得程序臃肿,代码重用性差。发表这篇博客的目的也是为了改进这个程序。CListCtrl 单元格可以编辑,有Combo Box下拉列表功能。使用PreTranslateMe

techcai的博客 1万+

Python数据挖掘之 Numpy

NumPy(Numerical Python)是一个用于科学计算的基础性库,主要用于高性能的多维数组和矩阵操作,以及丰富的数学函数支持。它是许多数据分析、机器学习和科学计算项目的核心组件。主要特点:多维数组对象(ndarray):提供高效的多维数组结构,支持元素的快速存取和操作。广播(Broadcasting):实现不同形状数组的运算规则,简化向量化操作。丰富的数学函数:包含线性代数、傅里叶变换、随机数生成、统计等操作的函数。

jerrykorea的博客 1483

硬件测试入门--环路响应(Bode)测试

环路分析的一个重要作用就是分析开关电源的稳定性。扫频测试原理主要是给开关电源电路注入一个频率变化的正弦信号,测量开关电源在频域上的特性,通过分析穿越频率、增益裕度和相位裕度来判断环路是否稳定,可以为电子工程师设计稳定的控制电路提供直观的数据。开关电源的稳定性关系到整个应用系统的可靠性,利用伯德图可以看出在不同频率下系统增益的大小和相位。通过伯德图来对开关电源的环路稳定性进行判断和分析已经成为评估开关电源可靠性必不可少的方法。

songninging的博客 1万+

双模音频解码器设计:USB+蓝牙LDAC平衡输出方案

音频解码器是数字音频系统中实现数模转换的核心组件,其性能直接决定音质保真度与系统延迟。基于高集成SoC的解码方案通过统一时钟域与片内DSP处理,有效抑制Jitter并简化硬件拓扑;结合全平衡模拟输出架构,可显著提升共模抑制比(CMRR)与信噪比(SNR)。该技术路径广泛应用于便携式Hi-Res音频设备、USB-C小尾巴DAC及蓝牙高解析耳机放大器等场景。本文围绕ES9038Q2M双模SoC展开,详解其在LDAC协议支持、UAC2.0兼容性及平衡电流型DAC输出方面的工程实现,为高性能、可量产音频硬件开发提供

weixin_42613018的博客 390

三、Python数据挖掘(Numpy库)

三、Python数据挖掘(Numpy库) 目录:三、Python数据挖掘(Numpy库)一、Numpy 简介二、认识N维数组 ndarray 属性1.ndarray 属性数组名 = np.array(N维数组)数组名 = np.array(N维数组, dtype=np.?)2.ndarray 的形状 shape3.ndarray 的类型 dtype三、基本操作1.生成数组的方法数组名 = np.zeros(shape=?, dtype=?)数组名 = np.ones(shape, dtype=?)新数组 =

~宪宪的博客 3128

JavaFX 概述

要从 JavaFX 中充分受益,了解 JavaFX 的设计方式以及对 JavaFX 包含的功能有一个很好的概述是很有用的。本文的目的是为您提供 JavaFX 概述。本文将首先介绍一般的 JavaFX 设计,然后介绍 JavaFX 中的各种特性。如果您熟悉 Flash/Flex,您会发现 JavaFX 在某种程度上受到了 Flash/Flex 的启发。JavaFX 中也有一些相同的想法。一般来说,JavaFX 应用程序包含一个或多个对应于窗口的阶段。每个阶段都有一个场景。

2012年开始工作,全栈开发老兵,目前已是一个老师,分享这么多年的心得体会 408

深入了解Python数据挖掘库NumPy

1.背景介绍 1. 背景介绍 Python数据挖掘库NumPy是一个强大的数值计算库,它为Python提供了大量的数学和科学计算功能。NumPy的核心是一个用于存储和操作多维数组的数据结构,这些数组可以包含整数、浮点数、复数等不同类型的数据。NumPy还提供了一系列的数学函数和操作符,用于对数组进行各种运算和处理。 NumPy库的设计思想是基于C语言的数组库,因此它具有高效的性能和低级别的控...

AI天才研究院 1056

hive get_json_object解析json结果为null咋办?

最近一位开发的同学在使用get_json_object函数对json数据解析的时候,出现了结果为null的问题,问题原因是sql语法导致的,那么今天就来详细介绍一下解析json函数的用法!最后还是提醒小伙伴们,在开发过程中,一定要注意sql语法格式的书写,避免一些意想不到的结果!

笑看风云路的博客 2308

专转本-信息通信技术-笔记

专转本-信息通信技术-笔记

大今野 1367

基础python数据挖掘笔记数据分析(基础matplotlib,numpy,pandas的使用)

x:x要显示的刻度# y:y要显示的刻度# 温度变化折线图# 1、准备数据# 2、创建画布# 3、绘制图像# 修改x y刻度x_label = ["11分{}秒".format(i) for i in x]# 4、显示图像plt.show()Numpy (Numerical Python) 是一个开源的 Python 科学计算库,用于快速处理任意维度的数组。Numpy 支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy 比直接使用 Python 要简洁的多。

2302_80183131的博客 2344

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Python数据挖掘基础教程:Pandas、Matplotlib、NumPy等

Python数据挖掘基础教程:Pandas、Matplotlib、NumPy等 去发现同类优质开源项目:https://gitcode.com/ 简介 本仓库提供了一份关于Python数据挖掘的基础教程资源文件,涵盖了Pandas、Matplotlib、NumPy等常用库的使用。这份教程是根据B站上的黑马教程,并参考了优快云博客上的相关内容整理而成的Markdown笔记。 资源内容 Panda...

gitblog_09803的博客 659

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

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Python 数据挖掘 | 第2章 使用 Numpy 操作数据

第2章 使用 Numpy 操作数据

多氯环己烷的博客 628

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Python 数据挖掘(一) 模块安装部署 numpy等

下载网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 模块安装的顺序与方式建议如下:(出错概率比较小)同时安装 1、numpy、mkl(下载安装) 包的名字numpy-1.12.0b+mkl-cp35-cp35m-win_amd64.whl 2、pandas(网络安装)直接只用pip安装 3、matplotlib(网络安装) 4、scipy(下

是个好男人的博客 2122

Python数据挖掘 - Numpy基础篇

Numerical Python,是一个开源的科学计算库,用于快速处理任意维度的数组,Numpy支持常见矩阵操作,对于数值计算,Numpy的计算比直接的Python计算更加简洁 ndarray是Numpy处理多维数组的对象,ndarray是灵活、快速的大数据容器(n-任意,d-dimension维度,array-数组)

m0_61286600的博客 322

数据挖掘——numpy基础

前言:python数据挖掘numpy的基础知识,参考网上资料和博客进行简单总结,主要是为了方便自己写代码的时候查看,发现有用的方法,随时补充,欢迎指正 数据挖掘专栏 数据挖掘——python基础 数据挖掘——numpy基础 数据挖掘——pandas基础 数据挖掘——pandas+matplotlib+seaborn数据可视化 numpy基础一、认识numpy二、numpy数组对象(ndarr...

Tao_RY的博客 775

python数据挖掘02——Numpy

Numpy支持大量维度数组与矩阵的运算,提供大量的数学函数库。 Ndarray: ndarray是一个存放多个相同元素类型的多维数组,且每个元素都有相同的大小区域,它们之间是连续存储的。 1、ndarray.array(): 创建一个ndarray数组。 a = np.array([[1,2,3],[4,5,6],[7,8,9]]) 2、ndarray.ndmin: 维度,...

m0_38102468的博客 366

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

前面几篇文章采用的案例的方法进行介绍的,这篇文章主要介绍Python常用的扩展包,同时结合数据挖掘相关知识介绍该包具体的用法,主要介绍Numpy、Pandas和Matplotlib三个包。目录:         一.Python常用扩展包         二.Numpy科学计算包         三.Pandas数据分析包         四.Matplotlib绘图包      

xfyangle的博客 2425

【4天快速入门Python数据挖掘之第2天】Numpy——高效的运算工具

Numpy是一个开源的Python科学计算库,用于快速处理任意维度的数组Numpy支持常见的数组和矩阵操作,对于同样的数值计算任务,使用Numpy比直接使用Pyhon要简洁得多Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器Numpy提供了一个N维数组类型 ndarray (N-dimensional array),它描述了相同类型的 “items” 的集合▷ 用ndarray。......

一以贯之的努力 不得懈怠的人生 1385
上一篇: 数据挖掘Python基础之面向对象
下一篇: 数据挖掘Python基础之NumPy基础(下)
QStack
博客等级 码龄6年 30粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值