scipy 常用函数(special, spatial.distance, integrate)
1. pdist、squareform
计算样本集的样本间距离矩阵,一对好基友(常同时出现,squareform 的参数就是 pdist 的返回值,没有取平方的意思,只是将 pdist 返回的一维形式,拓展为方阵)
from scipy.spatial.distance pdist, squareform
sq_dists = pdist(X, metric='sqeuclidean')# X.shape = (n_samples, n_features)# sq_dists.shape = ((1+n-1)*(n-1)/2, ),是一个一维向量mat_sq_dists = squareform(sq_dists)# mat_sq_dists.shape = (n_samples, n_samples)# 主对角线元素为0,是一个对称矩阵,# 从 pdist 转化而来;
2. 阶乘与排列组合数
from scipy.special import comb# 排列数
from scipy.special import perm# 组合from scipy.misc import factorial# 阶乘# 返回为numpy.ndarray# 自然它可接受多个数,分别计算其阶乘
>>> comb(10, 2)# 45.0
>>> factorial(10)
array(3628800.0)>>> factorial([1, 2, 3, 4, 5])
array([ 1., 2., 6., 24., 120.])## integrate:积分
注:scipy.misc
也有comb
、factoral
,但没有perm
3. 积分
from scipy import integrate
尤其是integrate.quad
可用来计算定积分,进而计算 CDF(cumulative density function),
如 Gamma 分布的概率密度函数为:
Gamma(x|\alpha,\beta)=\frac{\beta^{\alpha}x^{\alpha-1}e^{-\beta x}}{\Gamma(\alpha)}
from scipy.special import gamma
def gamma_pdf(x, alpha, beta):return beta**alpha*x**(alpha-1)*np.exp(-beta*x)/gamma(alpha)
def gamma_cdf(x, alpha, beta):return [integrate.quad(gamma_pdf, 0, t, args=(alpha, beta)) for t in x]
def main():params = [(1, 2), (2, 2), (3, 2), (5, 1), (9, .5), (7.5, 1), (0.5, 1.)]x = np.arange(0.01, 20, .01)plt.figure()for alpha, beta in params:plt.plot(x, gamma_pdf(x, alpha, 1/beta), label=r'$\alpha={:.1f},\beta={:.1f}$'.format(alpha, beta), lw=2)plt.legend(loc='best', frameon=False)plt.show()plt.figure()for alpha, beta in params:plt.plot(x, gamma_cdf(x, alpha, beta), label=r'$\alpha={:.1f},\beta={:.1f}$'.format(alpha, beta), lw=2)plt.legend(loc='best', frameon=False)plt.show()
if __name__ == '__main__':main()
scipy 常用函数(special, spatial.distance, integrate)相关推荐
- scipy常用函数(更新中)
from scipy.optimize import fsolve def f(x): #定义要求解的方程组 x1 = x[0] x2 = x[1] return [2* ...
- scipy.spatial.distance.cdist函数
语法:scipy.spatial.distance.cdist(XA, XB, metric='euclidean', p=None, V=None, VI=None, w=None) 该函数计算两个 ...
- python scipy.stats.norm.cdf_python的scipy.stats模块中正态分布常用函数总结
python的scipy.stats模块是连续型随机变量的公共方法,可以产生随机数,通常是以正态分布作为scipy.stats的基本使用方法.本文介绍正态分布的两种常用函数:1.累积概率密度函数sta ...
- scipy.spatial.distance.cdist
语法:scipy.spatial.distance.cdist(XA, XB, metric='euclidean', p=None, V=None, VI=None, w=None),该函数用于计算 ...
- scipy.spatial.distance 与 sklearn cosine_similarity
1.scipy.spatial.distance from scipy.spatial.distance import pdist,squareform a=[1,1,1] b=[1,1,2] c=[ ...
- scipy.spatial.distance 与 sklearn cosine_similarity;计算cosine相似度距离,scipy pdist 结果转化成array方阵
1.scipy.spatial.distance from scipy.spatial.distance import pdist,squareform a=[1,1,1] b=[1,1,2] c=[ ...
- python数据分析 - numpy | ndarray数组 | numpy常用函数
文章目录 数据分析 numpy概述 numpy历史 numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象的创 ...
- 数据分析之numpy基础/matplotlib绘图/numpy常用函数/杂项功能
文章目录 数据分析 numpy概述 numpy`历史` numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象 ...
- Kaggle常用函数总结 原创 2017年07月03日 21:47:34 标签: kaggle 493 kaggle比赛也参加了好几次,在这里就把自己在做比赛中用到的函数汇总到这,方便自己以后查阅
Kaggle常用函数总结 原创 2017年07月03日 21:47:34 标签: kaggle / 493 编辑 删除 kaggle比赛也参加了好几次,在这里就把自己在做比赛中用到的函数汇总到这,方便 ...
最新文章
- 右键脚本html,js实现右键自定义菜单
- 面试常考,项目易错,长文详解C/C++中的字节对齐
- QGraphicsScene 的简单理解--关于手册的简要翻译
- Silverlight中开发和设计人员的合作文档信息
- MySQL(介绍,安装,密码操作,权限表)
- LeetCode 826. 安排工作以达到最大收益(map)
- springboot整合activiti报错[processes/]不存在解决方案
- 优酷宠爱剧场发布新片单 包括近30部待播精品剧
- OpenSLR 中国镜像背后的数据存储服务商,原来是这样一家公司!
- python写界面c这算法_OpenCV算法精解:基于Python与C.pdf
- MySQL调用存储过程和函数
- 整理了一些常用的软件测试工具【建议收藏】
- Mini MP3 Player播放器简介与STC12例程
- 最快路由器服务器地址,路由器中radius服务器IP地址要用什么样的IP
- 固定定位相对于当前父元素
- Gzip的动态压缩和静态压缩详解
- 华为早几年的服务器型号,云服务器一般用几年
- Python开发【Django】:组合搜索、JSONP、XSS过滤
- word文档中设置的行距一样但实际显示的不一样
- java获取小程序中用户的unionId的三种方式
热门文章
- Hive insert into小文件问题优化解决
- 详解:Spark程序的开始 SparkContext 源码走一走
- c语言最新标准 2017,2017最新C语言介绍
- java redis jar_Java使用Redis
- 频谱仪使用方法图解_安全继电器工作原理、接线图、使用方法图解
- 类和对象编程(七):this指针
- tf.transpose()个人理解,高纬度的变换,可以将部分维度看成黑盒(整体)
- 单例设计模式之间的区别
- [Swift]LeetCode85. 最大矩形 | Maximal Rectangle
- javascript基础知识(13) Date