在这里介绍几个函数,由于近来需要用到,网上找了一下,只有英文文档,很少有中文文档,在这里简单介绍一下,有兴趣可以浏览,仅当参考,希望能提升大家的学习速率。
1、scipy.interpolate 内插
2、scipy.spatial.transform.Rotation 三维旋转
3、scipy.optimize.dual_annealing 退火优化方法
模拟退火算法常用于组合优化问题,当有多个参数,参数的变化方向又不确定时,常使用这类方法解决。
函数签名如下:(源码地址:https://github.com/scipy/scipy/blob/v1.3.0/scipy/optimize/_dual_annealing.py#L428-L689)
scipy.optimize.dual_annealing(func, bounds, args=(), maxiter=1000, local_search_options={}, initial_temp=5230.0, restart_temp_ratio=2e-05, visit=2.62, accept=-5.0, maxfun=10000000.0, seed=None, no_local_search=False, callback=None, x0=None)
参数说明:
func:
目标函数,或者说打分函数,即优化的目的是使得func的值最小,该函数在定义的时候有一定的要求,func函数必须是以下形式:
def func(x,*args)
其中x表示的是一个一维向量,是所有参数组成的向量,打分函数func需要根据这个参数向量来打分,*args是一个可变参数,是完成该函数功能所需要的其他参数,这些参数对分数无影响。
bounds:
参数的取值范围,是以列表的形式给出,列表中包含元组,每个元组表示每个参数的取值范围,有顺序要求。
args:
对应目标函数中的可变参数,以元组或者列表的形式传递。
4、scipy.spatial.distance.cdist
scipy.spatial.distance.cdist(XA, XB, metric='euclidean', *args, **kwargs)
计算两个输入集合的每对之间的距离。
参数说明:
XA:ndarray
XB:ndarray
metric:str or callable, optional(默认为'euclidean'即欧拉距离)
要使用的距离度量。如果是字符串,距离函数可以是‘braycurtis’, ‘canberra’, ‘chebyshev’, ‘cityblock’, ‘correlation’, ‘cosine’, ‘dice’, ‘euclidean’, ‘hamming’, ‘jaccard’, ‘jensenshannon’, ‘kulsinski’, ‘mahalanobis’, ‘matching’, ‘minkowski’, ‘rogerstanimoto’, ‘russellrao’, ‘seuclidean’, ‘sokalmichener’, ‘sokalsneath’,‘sqeuclidean’, ‘wminkowski’, ‘yule’.
*args:tuple. 弃用.
**kwargs:dict, optional
返回:Y:ndarray