在实际应用中,由于这两个库解决的问题会存在重叠,导致遇到新的问题时,会犹豫所需要的拟合(回归)模型究竟应该引用两者中的哪个模块,在这篇文章中,讲介绍两大模块的算法范畴 (1) SciPy是python的一个著名的开源科学库,SciPy一般都是操纵NumPy数组来进行科学计算,统计分析,可以说是基于NumPy之上。SciPy提供了许多科学计算的库函数,如线性代数,微分方程,信号处理,图像处理,系数矩阵计算等。我们注意几个关键词,一是基于numpy,我们知道numpy 是一个数值型或者矩阵容器,那么SciPy中涵盖的时针对矩阵变换或者多维信号处理的函数库;二是科学计算与统计分析: 对于矩阵的处理,numpy 定义了一些基础的函数能够做一些基础的分析或变换,比如转置/逆矩阵/均值方差的计算等,那么一些高阶的分析,比如拟合/回归/参数估计等定义在SciPy 库中,可以说等同于Spss的功能,初次之外,在信号处理领域的一些函数也会定义在这个库中,当然,还存在一些库中专门定义了针对信号处理的函数,比如signal ,这个库的专业范畴更强,以下是SciPy所囊括的分析范畴,详细可以参考添加链接描述: a. Optimize 最优化 i.数据建模和拟合- Curve_fit 线性回归分析 ii.函数求解 - fsolve b. interpolate 插值 i.一维插值 interp1d c. integrate 积分 i.解析积分 quad ii.数值积分 traps d. stats 统计 包中涵盖了80种连续分布和10种离散分布,比如正态分布 norm等,同时还有概率密度函数估计 pdf、样本分布检验stats 等统计学范畴的计算 e.空间聚类分析 cluster i. 矢量量化 - kmean vq, f.稀疏矩阵 (2)sklearn 是专门的机器学习算法库,了解机器学习算法及其发展里程的同学肯定知道,机器学习完全就是建立在概率与统计的基础上,因此在很多问题上可以看到两者存在一些模糊地带,机器学习的六大任务模块:分类(Classification)、回归(Regression)、聚类(Clustering)、降维、模型选择和预处理,可以看出前三个就是机器学习的问题类型,聚类和降维隶属机器学习过程中特征工程的范畴,模型选择和预处理则分别是前处理和后处理模块,三个单元组合在一起才能构建一个完善完备的机器学习solution,关于这一块的详细内容,可以参考这篇链接:添加链接描述
|