python中scipy_Python Scipy 简介

Python Scipy 简介

2018-12-15 Saturday

Scipy 是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。

可以有效计算 Numpy 中的矩阵,从而使 Numpy 和 Scipy 可以协同工作,高效解决问题。

stats

在做 ML 的时候经常会遇到一些与概率相关的东西,其实在 scipy.stats 模块中已经提供了相关的一些特性,该模块封装了一些标准的随机变量,包括了连续型 (80多个) 和离散型 (10多个)。

常用方法

连续随机变量的主要公共方法有:

rvs, Random VariateS 随机变量,也就是从这个分布中抽一些样本;

pdf, Probability Density Function 概率密度函数;

cdf, Cumulative Distribution Function 累计分布函数;

sf, Survival Function 残存函数(1 - CDF);

ppf, Percent Point Function 分位点函数 (CDF 的逆);

isf, Inverse Survival Function 逆残存函数 (sf的逆);

可以通过如下方法查看支持的属性。

from scipy import stats

dir(stats.norm) # 查看正态分布的所有方法和属性

示例

如下使用该模块模拟正态分布的使用,默认使用的是标准正态分布,也就是平均值为 0 ,标准差为 1 的正态分布。

>>> import numpy as np

>>> from scipy import stats

#----- 使用默认的标准正态分布函数计算累积分布

>>> stats.norm.cdf(0)

0.5

>>> stats.norm.cdf([-1, 0, 1])

array([0.15865525, 0.5, 0.84134475])

>>> norm.cdf(np.array([-1, 0, 1]))

array([0.15865525, 0.5, 0.84134475])

#----- 设置正态分布参数,loc(location)期望值,scale标准差

>>> x = stats.norm(loc=1.0, scale=2.0)

#----- 计算随机变量的期望值和方差

>>> print(x.stats())

(array(1.), array(4.))

#----- 对于正态分布随机取10000个值,并计算其均值和方差

>>> sample = x.rvs(size=10000)

>>> print(np.mean(sample), np.var(sample))

(0.9874473210585618, 4.086386197301687)

#----- 对随机序列进行拟合,返回与随机取样值最吻合的随机变量参数

>>> print(stats.norm.fit(sample))

(0.9874473210585618, 2.0214811889556845)

参考

如果喜欢这里的文章,而且又不差钱的话,欢迎打赏个早餐 ^_^

支付宝打赏

微信打赏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值