学习python时,遇到库中不会的函数可以访问该库的官网,如numpy的官网http://www.numpy.org/
1.load_planar_dataset()
(1)np.random.seed():使得随机数据可预测。可以使得多次生成的随机数相同。(注:numpy.random()具体用法见下面。)
例如:
import numpy as np
np.random.seed(1)
x1=np.random.rand(4)
print(x1)
np.random.seed(1)
x2=np.random.rand(4)
print(x2)
输出结果为:
而如果:
import numpy as np
x1=np.random.rand(4)
print(x1)
x2=np.random.rand(4)
print(x2)
输出结果为:
(2)np.zeros(shape,dtype=float,order='C')
功能:返回给定形状和类型的用0填充的新数组
参数:shape:数组的形状
dtype:数据类型,是一个可选参数。默认为numpy.float64.如有需要可以设置为例numpy.int8.
order:是否在内存中以C或Fortran连续顺序存储多维数据。是一个可选参数。C代表与C语言类似,行优先;F代表列优先。
(3)for in range(m,n)——python中的这个用法相当于C语言中的for(i=m i<n i++)
import numpy as np
for i in range(2,5):
print(i)
输出结果为:
import numpy as np
for i in range(5):
print(i)
输出结果为:
(3)numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
在执行的时间间隔内返回均匀间隔的数字。
返回num均匀分布的样本,在[start, stop]。
间隔的终点可以选择性的排除。
Parameters:
start:标量,序列的起始点。
stop:标量。序列的结束值,除非endpoint被设置为False。 在这种情况下,序列由除 num + 1个均匀间隔样本中的最后一个 以外的所有样本组成(这句话太绕了,看个下面的例子就明白啦),因此stop点被剔除。 请注意,当端点为False时,步长会改变。
num:生成的样本数。int。默认为50。
endpoint:bool型变量,可选参数。如果设置为True,则得到序列包含stop值,如为False则反之。
retstep:如果设置为True,则返回值为(samples,step),step是样本之间的间距。
dtype:输出数组的类型。如果没有给出,则从其他输入参数推断。
Returns: (samples,step) 只有restep为True的时候才会返回step。
import numpy as np
array1=np.linspace(1,10,10)
array2=np.linspace(1,10,10,endpoint= False)
array3=np.linspace(1,10,10,endpoint=False,retstep=True )
print(array1,'\n' ,array2,'\n',array3)
运行结果为:
(4)numpy.c_
功能:将切片对象沿第二个轴(列)转换为连接,请看例子。
import numpy as np
x1=np.c_[np.array([1,2,3]), np.array([4,5,6])]
x2=np.c_[np.array([[1,2,3]]), 0, 0, np.array([[4,5,6]])]
print(x1,'\n',x2)
运行结果为:
(5)plt.scatter()的原型函数是
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)
例子:plt.scatter(X[0, :], X[1, :], c=np.squeeze(Y), s=40, cmap=plt.cm.Spectral)
Parameters:
x,y:数组,输入数据。
s:size,点的大小。
c:color。可以是颜色字符串,如'b' , 'y' , 'r'等,也可以是数组。这个例子中,c=Y就是一个数组。如果是数组,就用后面的cmap参数,cmap参数颜色映射,当使用cmap=plt.cm.Spectral时,会自动的根据类别,比如这个例子里是一个二元分类问题,那么这个函数会给label 1一种颜色,label 0设置另一种颜色。
maker:点的形状,默认是'o'。
cmap:仅当c是一个浮点数组时才使用cmap。 如果为None,则默认为rc image.cmap。
(6)np.squeeze()
功能:除去size为1的维度。
举例说明:
import numpy as np
x1 = np.array([[0],[1],[2]])
x2 = np.array([[[0],[1],[2]]])
print(x1,'\n' ,x2)
print(x1.shape,x2.shape)
运行结果:
继续:
x11=np.squeeze(x1)
x22=np.squeeze(x2)
print(x11,'\n' ,x22)
print(x11.shape,x22.shape)
运行结果:
(7)sklearn.linear_model.LogisticRegressionCV()
功能:使用scikit_learn中的逻辑回归分类器。(通过计算真实值与预测值的概率,求损失函数最小值来计算模型参数,从而得出模型。)这里的参数均设置成了默认值。
clf.fit(X.T, Y.T)
功能:用训练数据拟合分类器模型。
clf.predict():用训练好的分类器去预测标签。
(8)np.dot()
功能:对于秩为1的数组,执行对应位置相乘,然后再相加;对于秩不为1的二维数组,执行矩阵乘法运算;超过二维的可以参考numpy库介绍。
(9)X.shape()
功能:用于确定各个维度的维数。
举例:
如,对于二维数组:
import numpy as np
x = np.array([[1,2,3], [4,5,6]])
print(x.shape,'\n',x.shape[0],'\n',x.shape[1])
运行结果:
对于三维数组:
import numpy as np
x = np.array([[[1,2,3], [4,5,6]]])
print(x.shape,'\n',x.shape[0],'\n',x.shape[1],'\n',x.shape[2])
运行结果:
可见,若对于更高维的数组,随着shape[ ]的逐渐递增,其返回的结果依次为从最内维到最外维。
(10)assert ( )断言函数
功能:括号中加入语句,用于判断语句是否为真,若为假,则会引发AssertionError。作用是语气让程序在晚些时候崩溃,不如在错误条件发生的时候直接崩溃,提高效率。
(11)isinstance()
功能:用于判断对象是否为一个已知的类型。
例如:isinstance(2,int),输出结果为True。