机器学习储备(8):numpy之linspace 和 logspace

来源:互联网 发布:php如何加密源码软件 编辑:程序博客网 时间:2024/06/05 23:59

1 linspace在numpy中是创建等差数列,

先看例子:

A = np.linspace(1,11,11)

结果:array([  1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.,  11.])

因此可以看到lisapce接口的第一个参数1是等差数列的第一项,第二个参数11是最后一项,第3个参数11为等差数列的元素个数,共含有11个元素。


根据等差数列的通项公式: an = a1 + (n-1)*d,已知 an, a1,  n,自然 d 就确定了。



2 logspace在numpy中是创建等比数列,

先看例子:

A = np.logspace(1,11,11)

结果:

array([  1.00000000e+01,   1.00000000e+02,   1.00000000e+03,

         1.00000000e+04,   1.00000000e+05,   1.00000000e+06,

         1.00000000e+07,   1.00000000e+08,   1.00000000e+09,

         1.00000000e+10,   1.00000000e+11])

创建的元素的默认以10为底,如上所示,第一个参数代表的意思是等比数列的次幂为1,第二个参数代表等比数列的次幂为11, 第三个参数仍然是数列含有的所有项数为11 。 


根据等比数列的通项公式:,已知 

a1 = q^参数1, an = a1 * q^参数2,n = 11,所以 q 自然就确定了, 如下所示,指定base = 2,

A = np.logspace(1,3, 5, base=2)

结果:

array([ 2.        ,  2.82842712,  4.        ,  5.65685425,  8.        ])

可以看出第一项为2,最后一项为2^3=8,一共有5项,这时候的公比大约等于1.4,不要和base=2混淆了!


注意base=2,可不是意味着也是为2!




谢谢您的阅读,期待您的到来。




欢迎关注《算法channel》



主要推送关于算法的分析过程及应用的消息。培养思维能力,注重过程,挖掘背后的原理,刨根问底。本着严谨和准确的态度,目标是撰写实用和启发性的文章,欢迎您的关注。