[转载] 机器学习篇—Numpy数值计算基础(中)
参考链接: Python中的numpy.cbrt
Numpy库是支持 Python 语言的数值计算第三方库,其拥有强大的多维数组处理与矩阵运算能力;是机器学习的必不可少的工具。本文是在学习了Numpy数值计算课程之后,所做的些许笔记。
文章目录
Numpy生成随机数Numpy数学函数Numpy数据修约Numpy数组的数学运算
Numpy生成随机数
生成随机数几种方法
rand(d0, d1, ..., dn)
//[0, 1) 区间随机数据填充,这些数据均匀分布
示例:
np.random.rand(2,2)
结果:
array([[0.43496349, 0.04208836],
[0.30749565, 0.71794792]])
randn(d0, d1, ..., dn)
//从标准正态分布中返回一个或多个样本值
示例:
np.random.randn(2,2)
一种结果:
array([[ 1.84516611, -0.75413734],
[ 0.93102001, -1.34265842]])
标准正态分布
randint(low, high, size, dtype)
//生成 [low, high) 的随机整数,半开半闭区间。
示例:
np.random.randint(2, 5, (2,2))
结果:
array([[4, 2],
[3, 4]])
random_sample(size)
//在 [0, 1) 区间内生成随机浮点数
示例:
np.random.random_sample((2,2))
结果:
array([[0.3032088 , 0.15382612],
[0.56393681, 0.29961032]])
choice(a, size, replace, p)
//在给定的数组里随机抽取几个值
示例:
np.random.choice(6,3)
结果:
array([1, 4, 5])
//注意,必须为一维数组:若np.random.choice(np.arange(6).reshape(3,2), 3),则报错 a must be 1-dimensional
概率密度分布
//使用时查阅即可
numpy.random.beta(a,b,size):从 Beta 分布中生成随机数。
numpy.random.binomial(n, p, size):从二项分布中生成随机数。
numpy.random.chisquare(df,size):从卡方分布中生成随机数。
numpy.random.dirichlet(alpha,size):从 Dirichlet 分布中生成随机数。
numpy.random.exponential(scale,size):从指数分布中生成随机数。
numpy.random.f(dfnum,dfden,size):从 F 分布中生成随机数。
numpy.random.gamma(shape,scale,size):从 Gamma 分布中生成随机数。
numpy.random.geometric(p,size):从几何分布中生成随机数。
numpy.random.gumbel(loc,scale,size):从 Gumbel 分布中生成随机数。
numpy.random.hypergeometric(ngood, nbad, nsample, size):从超几何分布中生成随机数。
numpy.random.laplace(loc,scale,size):从拉普拉斯双指数分布中生成随机数。
numpy.random.logistic(loc,scale,size):从逻辑分布中生成随机数。
numpy.random.lognormal(mean,sigma,size):从对数正态分布中生成随机数。
numpy.random.logseries(p,size):从对数系列分布中生成随机数。
numpy.random.multinomial(n,pvals,size):从多项分布中生成随机数。
numpy.random.multivariate_normal(mean, cov, size):从多变量正态分布绘制随机样本。
numpy.random.negative_binomial(n, p, size):从负二项分布中生成随机数。
numpy.random.noncentral_chisquare(df,nonc,size):从非中心卡方分布中生成随机数。
numpy.random.noncentral_f(dfnum, dfden, nonc, size):从非中心 F 分布中抽取样本。
numpy.random.normal(loc,scale,size):从正态分布绘制随机样本。
numpy.random.pareto(a,size):从具有指定形状的 Pareto II 或 Lomax 分布中生成随机数。
numpy.random.poisson(lam,size):从泊松分布中生成随机数。
numpy.random.power(a,size):从具有正指数 a-1 的功率分布中在 0,1 中生成随机数。
numpy.random.rayleigh(scale,size):从瑞利分布中生成随机数。
numpy.random.standard_cauchy(size):从标准 Cauchy 分布中生成随机数。
numpy.random.standard_exponential(size):从标准指数分布中生成随机数。
numpy.random.standard_gamma(shape,size):从标准 Gamma 分布中生成随机数。
numpy.random.standard_normal(size):从标准正态分布中生成随机数。
numpy.random.standard_t(df,size):从具有 df 自由度的标准学生 t 分布中生成随机数。
numpy.random.triangular(left,mode,right,size):从三角分布中生成随机数。
numpy.random.uniform(low,high,size):从均匀分布中生成随机数。
numpy.random.vonmises(mu,kappa,size):从 von Mises 分布中生成随机数。
numpy.random.wald(mean,scale,size):从 Wald 或反高斯分布中生成随机数。
numpy.random.weibull(a,size):从威布尔分布中生成随机数。
numpy.random.zipf(a,size):从 Zipf 分布中生成随机数。
Numpy数学函数
//三角函数
numpy.sin(x):三角正弦。
numpy.cos(x):三角余弦。
numpy.tan(x):三角正切。
numpy.arcsin(x):三角反正弦。
numpy.arccos(x):三角反余弦。
numpy.arctan(x):三角反正切。
numpy.hypot(x1,x2):直角三角形求斜边。
numpy.degrees(x):弧度转换为度。
numpy.radians(x):度转换为弧度。
numpy.deg2rad(x):度转换为弧度。
numpy.rad2deg(x):弧度转换为度。
示例:
np.radians(180)
结果:
3.141592653589793
//双曲函数
numpy.sinh(x):双曲正弦。
numpy.cosh(x):双曲余弦。
numpy.tanh(x):双曲正切。
numpy.arcsinh(x):反双曲正弦。
numpy.arccosh(x):反双曲余弦。
numpy.arctanh(x):反双曲正切。
示例:
np.sinh(6)
结果:
201.71315737027922
Numpy数据修约
//指在进行具体的数字运算前, 按照一定的规则确定一致的位数, 然后舍去某些数字后面多余的尾数的过程。比如四舍五入。
numpy.around(a):平均到给定的小数位数。
numpy.round_(a):将数组舍入到给定的小数位数。
numpy.rint(x):修约到最接近的整数。
numpy.fix(x, y):向 0 舍入到最接近的整数。
numpy.floor(x):返回输入的底部(标量 x 的底部是最大的整数 i)。
numpy.ceil(x):返回输入的上限(标量 x 的底部是最小的整数 i).
numpy.trunc(x):返回输入的截断值。
示例:
a = np.random.randn(6)
np.rint(a)
结果:
array([ 0.92754855, 0.27373658, -0.9136258 , -2.01339339, -1.51977432,
0.48426261])
array([ 1., 0., -1., -2., -2., 0.])
Numpy数组的数学运算
//求和、求积、差分
numpy.prod(a, axis, dtype, keepdims):返回指定轴上的数组元素的乘积。
numpy.sum(a, axis, dtype, keepdims):返回指定轴上的数组元素的总和。
numpy.nanprod(a, axis, dtype, keepdims):返回指定轴上的数组元素的乘积, 将 NaN 视作 1。
numpy.nansum(a, axis, dtype, keepdims):返回指定轴上的数组元素的总和, 将 NaN 视作 0。
numpy.cumprod(a, axis, dtype):返回沿给定轴的元素的累积乘积。
numpy.cumsum(a, axis, dtype):返回沿给定轴的元素的累积总和。
numpy.nancumprod(a, axis, dtype):返回沿给定轴的元素的累积乘积, 将 NaN 视作 1。
numpy.nancumsum(a, axis, dtype):返回沿给定轴的元素的累积总和, 将 NaN 视作 0。
numpy.diff(a, n, axis):计算沿指定轴的第 n 个离散差分。
numpy.ediff1d(ary, to_end, to_begin):数组的连续元素之间的差异。
numpy.gradient(f):返回 N 维数组的梯度。
numpy.cross(a, b, axisa, axisb, axisc, axis):返回两个(数组)向量的叉积。
numpy.trapz(y, x, dx, axis):使用复合梯形规则沿给定轴积分。
示例:
a = np.arange(6).reshape(2,3)
np.sum(a,0)
结果:
array([[0, 1, 2],
[3, 4, 5]])
array([3, 5, 7])
//指数与对数求解
numpy.exp(x):计算输入数组中所有元素的指数。
numpy.log(x):计算自然对数。
numpy.log10(x):计算常用对数。
numpy.log2(x):计算二进制对数。
//
numpy.add(x1, x2):对应元素相加。
numpy.reciprocal(x):求倒数 1/x。
numpy.negative(x):求对应负数。
numpy.multiply(x1, x2):求解乘法。
numpy.divide(x1, x2):相除 x1/x2。
numpy.power(x1, x2):类似于 x1^x2。
numpy.subtract(x1, x2):减法。
numpy.fmod(x1, x2):返回除法的元素余项。
numpy.mod(x1, x2):返回余项。
numpy.modf(x1):返回数组的小数和整数部分。
numpy.remainder(x1, x2):返回除法余数。
//求解矩阵和向量积
numpy.dot(a, b):求解两个数组的点积。
numpy.vdot(a, b):求解两个向量的点积。
numpy.inner(a, b):求解两个数组的内积。
numpy.outer(a, b):求解两个向量的外积。
numpy.matmul(a, b):求解两个数组的矩阵乘积。
numpy.tensordot(a, b):求解张量点积。
numpy.kron(a, b):计算 Kronecker 乘积。
//其他的一些数学方法
numpy.angle(z, deg):返回复参数的角度。
numpy.real(val):返回数组元素的实部。
numpy.imag(val):返回数组元素的虚部。
numpy.conj(x):按元素方式返回共轭复数。
numpy.convolve(a, v, mode):返回线性卷积。
numpy.sqrt(x):平方根。
numpy.cbrt(x):立方根。
numpy.square(x):平方。
numpy.absolute(x):绝对值, 可求解复数。
numpy.fabs(x):绝对值。
numpy.sign(x):符号函数。
numpy.maximum(x1, x2):最大值。
numpy.minimum(x1, x2):最小值。
numpy.nan_to_num(x):用 0 替换 NaN。
numpy.interp(x, xp, fp, left, right, period):线性插值。
//矩阵运算方法
numpy.linalg.cholesky(a):Cholesky 分解。
numpy.linalg.qr(a ,mode):计算矩阵的 QR 因式分解。
numpy.linalg.svd(a ,full_matrices,compute_uv):奇异值分解。
numpy.linalg.eig(a):计算正方形数组的特征值和右特征向量。
numpy.linalg.eigh(a, UPLO):返回 Hermitian 或对称矩阵的特征值和特征向量。
numpy.linalg.eigvals(a):计算矩阵的特征值。
numpy.linalg.eigvalsh(a, UPLO):计算 Hermitian 或真实对称矩阵的特征值。
numpy.linalg.norm(x ,ord,axis,keepdims):计算矩阵或向量范数。
numpy.linalg.cond(x ,p):计算矩阵的条件数。
numpy.linalg.det(a):计算数组的行列式。
numpy.linalg.matrix_rank(M ,tol):使用奇异值分解方法返回秩。
numpy.linalg.slogdet(a):计算数组的行列式的符号和自然对数。
numpy.trace(a ,offset,axis1,axis2,dtype,out):沿数组的对角线返回总和。
numpy.linalg.solve(a, b):求解线性矩阵方程或线性标量方程组。
numpy.linalg.tensorsolve(a, b ,axes):为 x 解出张量方程 a x = b
numpy.linalg.lstsq(a, b ,rcond):将最小二乘解返回到线性矩阵方程。
numpy.linalg.inv(a):计算逆矩阵。
numpy.linalg.pinv(a ,rcond):计算矩阵的(Moore-Penrose)伪逆。
numpy.linalg.tensorinv(a ,ind):计算 N 维数组的逆。
[转载] 机器学习篇—Numpy数值计算基础(中)相关推荐
- 数据科学与python语言实验——NumPy数值计算基础
NumPy数值计算基础 实验数据: 链接:https://pan.baidu.com/s/1-E2ShVTdI0X5lwDtMLFFsQ 提取码:0929 代码实现: 之前不会的地方: 1.读取文件 ...
- NumPy 数值计算基础
NumPy 数值计算基础 介绍 如果你使用 Python 语言进行科学计算,那么一定会接触到 NumPy.NumPy 是支持 Python 语言的数值计算扩充库,其拥有强大的多维数组处理与矩阵运算能力 ...
- Python数据分析——NumPy数值计算基础(二)
Python数据分析--NumPy数值计算基础(二) 思维导图: 数据的csv文件存取 csv(Comma-Separated Value,逗号分隔值)文件:是一种常见的文件格式,用来存储批量数据. ...
- Python——NumPy数值计算基础
NumPy简介 NumPy是一个Python科学计算的基础包,它不仅是Python中使用最多的第三方库,而且还是SciPy,Pandas等数据科学的基础库.NumPy主要提供了以下内容. (1)快速高 ...
- 【python与数据分析】NumPy数值计算基础1——numpy数组及其运算
目录 前言 一.创建数组 二.测试两个数组的对应元素是否足够接近 三.修改数组中的元素值 四.数组与标量的运算 五.数组与数组的运算 六.数组排序 七.数组重复 八.数组转置 九.数组所有元素累计和与 ...
- 大数据技术原理与应用 第一篇 大数据基础
目录 第一章 大数据概述 一. 大数据时代 1.1 三次信息化浪潮 1.2 信息科技发展 1.3 数据产生方式的变革 1.4 大数据的影响 二. 大数据的概念 2.1 大数据的特征 2.2 大数据关键 ...
- 机器学习中的Numpy库基础——向量、矩阵和数组
1.Numpy简介 Numpy是Python机器学习技术栈的基础. Numpy可以对机器学习中常用的数据结构--向量(vector).矩阵(matrice).张量(tensor)--进行高效的操作. ...
- [转载] Python之NumPy基础:数组与向量化计算
参考链接: Python中的numpy.tanh 本博客为<利用Python进行数据分析>的读书笔记,请勿转载用于其他商业用途. 文章目录 1. NumPy ndarray:多维数组对象1 ...
- [转载] Python之Numpy模块中的方法详解
参考链接: Python中的numpy.diag_indices Numpy(Numerical Python)是科学计算基础库,提供大量科学计算相关功能,比如数据统计,随机数生成等,其提供最核心类型 ...
最新文章
- centos6.5_64 java 环境变量配置
- CSS知识点——可替换元素vs不可替换元素
- 用 jQuery 获取 iframe 父子页面元素
- 工作环境总结(1)开发环境搭建
- 花了一天精选了20多篇好文,只为与你分享
- [集训队作业2018]小Z的礼物(min-max容斥,插头dp)
- python读取raw图片文件_python读取raw binary图片并提取统计信息的实例
- C语言,利用一维数组交换法排序,使学生成绩高低排序(要求输入为负值时输入结束)
- 20行 Python 代码爬取王者荣耀全英雄皮肤 | 原力计划
- App常用图标使用规范
- MATLAB BP神经网络的设计与优化
- Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
- 万圣节头像挂件微信小程序前端
- ECharts 饼图的合并显示
- 盘点百度开放云编程马拉松八大亮点
- 30岁哥大计算机博士生遇刺身亡,论文刚被顶会接收,曾留学中国
- lambada表达式理解
- 3月下旬到5月中旬之前采制的茶叶
- 成熟的最高境界,是心境如水
- java程序获取时区不对,linux时区不正确解决整理
热门文章
- 【mysql】期末数据库复习指南(《数据库系统概率》知识点总结,数据库系统原理,数据库设计课程复习)
- Anaconda和conda——关于python的数据科学开发环境,数据科学必备的十大Python库
- 【51nod】最大子段和
- 管能做暖气管道吗_地暖这么好,为什么大家都选暖气片?原因在于它的“隐性”成本...
- android控件的touch事件_聊聊Android嵌套滑动
- nextpolish安装_希望组自主三代组装软件NextDenovo最新版本全球学术开源!
- Python源码深度解析—对象的创建
- 数据结构—线索二叉树
- [leetcode]1131. 绝对值表达式的最大值 --绝对值表达式枚举拆分的方法
- 2019蓝桥杯A组:数列求值(递推式)