模式识别中python的使用

本学期的模式识别课程需要使用python进行算法实现,在使用的过程,将一些常用/有趣的语句总结一下,以便以后使用。

  • numpy中array的常用操作
    ·数组创建
    array() 将列表转换为数组,可选择显式指定dtype
    arange() range的numpy版,支持浮点数
    linspace() 类似arange(),第三个参数为数组长度
    zeros() 根据指定形状和dtype,创建全0数组
    ones() 根据指定形状和dtype,创建全1数组
    empty() 根据指定形状和dtype,创建空数组(随机值)
    eye() 根据指定边长dtype,创建单元矩阵

可以使用“列表生成式”生成列表,再转化为array

	y = np.array([0 if (i > k) else 1 for i in x])

详见

https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138681963899940a998c0ace64bb5ad45d1b56b103c48000

·大小操作
获取各个维数使用shape属性,改变大小使用reshape()方法。在reshape参数中-1表示缺省,会根据其他维的情况进行调整。例如变为列向量array_a.reshape(-1,1)

·合并数组
np.append()
np.concatenate()
np.stack()
np.hstack()
np.vstack()
np.dstack()

·数组查找
np.argwhere(y==y_test)
注意返回值的维数,根据需要取用。例如统计符合条件的元素个数

	 count = np.argwhere(y_test > y).shape[0]

例如将数据按类别取出

	x_c1 = x_in[np.argwhere(y_in.reshape(-1, 1) == 0)[:, 0]]

·删除操作
delete()

https://www.jb51.net/article/139764.htm

  • 格式化输出
    使用.format或者%

https://www.cnblogs.com/pycode/p/geshihua.html

  • 数据可视化
    matplotlib

https://www.cnblogs.com/zhizhan/p/5615947.html (很全的文档)
https://www.cnblogs.com/shanlizi/p/6850318.html (scatter画点)

你可能感兴趣的:(模式识别中python的使用)