Python数据分析与应用 课件 第11章 scipy_第1页
Python数据分析与应用 课件 第11章 scipy_第2页
Python数据分析与应用 课件 第11章 scipy_第3页
Python数据分析与应用 课件 第11章 scipy_第4页
Python数据分析与应用 课件 第11章 scipy_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章scipy

《Python数据分析与应用》ScipyScipy用于统计、优化、整合、线性代数模块、傅里叶变换、信号和图像处理等,常用的scipy工具有stats(统计学工具包)、erpolate(插值,线性的,三次方)、cluster(聚类)、signal(信号处理)等。安装scipy之前必须安装numpyScipy官方网址。ScipyScipy功能函数功能函数积分egrate线性代数scipy.linalg信号处理scipy.signal稀疏矩阵scipy.sparse空间数据结构和算法scipy.spatial统计学scipy.stats最优化scipy.optimize多维图像处理scipy.ndimage插值erpolate聚类scipy.cluster曲线拟合scipy.curve_fit文件输入/输出scipy.io傅里叶变换scipy.fftpack稀疏矩阵

在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵。coo_matrix()用于创建稀疏矩阵,语法如下所示。

coo_matrix((data,(i,j)),[shape=(M,N)])矩阵运算fromscipy.linalgimport*importnumpyasnp

A=np.matrix('[1,2;3,4]')print(A)print(A.T)#转置矩阵print(A.I)#逆矩阵[[12][34]][[13][24]][[-2.1.][1.5-0.5]]线性方程组求解

fromscipyimportlinalgimportnumpyasnpa=np.array([[1,3,5],[2,5,-1],[2,4,7]])b=np.array([10,6,4])x=linalg.solve(a,b)print(x)非线性方程组求解

fromscipy.optimizeimportfsolvefrommathimportsindeff(x):

x0,x1,x2=x.tolist()

return[5*x1+3,4*x0*x0-2*sin(x1*x2),x1*x2-1.5]

#f计算方程组的误差,[1,1,1]是未知数的初始值result=fsolve(f,[1,1,1])

print(result)print(f(result))函数最值

fromscipy.optimizeimportminimizeimportnumpyasnp

#计算1/x+x的最小值deffun(args):a=argsv=lambdax:a/x[0]+x[0]returnvif__name__=="__main__":args=(1)#ax0=np.asarray((2))#初始猜测值res=minimize(fun(args),x0,method='SLSQP')print(res.fun)print(res.success)print(res.x)最小二乘法

最小二乘法可以理解为就是通过最小化误差的平方和来寻找最佳的匹配函数,常用于曲线拟合。一般情况下拟合的曲线为k*x+b函数,即寻找最好的k、b值实现分类效果。 scipy的leastsq函数用于最小二乘法的拟合

scipy.optimize.leastsq(func,x0,args=())数据分布泊松分布正态分布指数分布均匀分布正态分布正态分布(Normaldistribution),也称“常态分布”,又名高斯分布(Gaussiandistribution),正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,又称之为钟形曲线。scipy.norm实现正态分布。binomial=stats.binom.pmf(k,n,p)指数分布

指数分布描述的是事件发生的时间间隔,主要用于描述电子元器件的寿命。

scipy.expon实现指数分布。泊松分布#平均值,方差,偏度,峰度mean,var,skew,kurt=poisson.stats(mu,moments='mvsk')泊松分布用于描述单位时间/面积内,随机事件发生的次数。例如,譬如:某一服务设施一定时间内到达的人数、一个月内机器损坏的次数等。指数分布指数分布描述的是事件发生的时间间隔,主要用于描述电子元器件的寿命。scipy.expon实现指数分布。统计量统计量包括平均数、中位数、众数、样本均值(即n个样本的算术平均值),样本方差(即n个样本与样本均值之间平均偏离程度的度量)等,用于数据进行分析、检验的变量。

众数是指在统计分布上具有明显集中趋势点的数值,是出现次数最多的数值,代表数据的一般水平。scipy.stats提供mode函数实现求众数。scipy.stats模块提供了pearsonr函数计算皮尔森相关系数,语法如下所示:fromscipy.statsimportpearsonrpearsonr(x,y)参数解释如下:x为特征,y为目标变量。图像处理图像处理和分析通常被看作是对二维值数组的操作。scipy.ndimage提供了许多通用的图像处理和分析功能,支持图像矩阵变换、图像滤波、图像卷积等功能。图像旋转Scipy提供ndimage.rotate函数用于旋转图像。rotate_flower=ndimage.rotate(flower,45)plt.imshow(rotate_flower)plt.title('rotate_flower')图像平滑

图像平滑是一种区域增强的算法,用于突出图像的低频成分、主干部分或抑制图像的噪声和干扰高频成分,使图像亮度平缓渐变、减少突变梯度,改善图像质量的图像处理方法。图像平滑分为:高斯滤波中值滤波高斯滤波scipy.ndimage模块提供gaussian_filter函数。fromscipyimportndimageimportmatplotlib.imageasmpimgimportmatplotlib.pyplotaspltflower=mpimg.imread('d://flower.jpg')flower1=ndimage.gaussian_filter(flower,sigma=3)plt.imshow(flower1)plt.show()scipy.ndimage模块的median_filte函数实现中值滤波。fromscipyimportndimageimportmatplotlib.imageasmpimgimportmatplotlib.pyplotaspltflower=mpimg.imread('d://flower.jpg')flower1=ndimage.median_filter(flower,size=10)plt.imshow(flower1)plt.show()中值滤波图像锐化图像锐化就是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使得图像变得清晰。scipy.ndimage模块的prrwitt函数实现图像锐化。fromscipyimportn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论