《Python之机器学习(NumPy)》

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Python之机器学习(NumPy)》相关的知识,希望对你有一定的参考价值。

#单行注释
‘‘‘
多行注释
多行注释
多行注释
‘‘‘

#a.ndim     输出数组的维数;
#a.shape    输出数组的形式(几行,几列)
#copy()     复制数组
#a*2        数组中每个元素乘以2
#[1,2]*2    数组将变成4个
#a**2       a的平方
#[1,2]**2   unsuported operand type
#数组访问。修建异常值。处理不存在的值。
#clip()     超出某区间边界的部分修剪掉
#mean()     均值
#处理不存在的值

import numpy as np
a = np.array([0,1,2,3,4,5])

b = a.reshape((3,2))#transport a array to b. change b same to a.

c = a.reshape((3,2)).copy()#change c no change a.they are depended.

a[a>4] = 2 #修剪异常值

d = a.clip(0,2)#d 中最大为2

e = np.array([1,2,np.NAN,3,4])## np.isnan(e)    来判定数组是否有不合理值
f = e[~np.isnan(e)]           ## e[~np.isnan(e)]输出合理的数

m = np.mean(e[~np.isnan(e)])  ##均值。                

##应该时常考虑如何将数组元素的循环处理冲Python中移到高度优化的NumPy..SciPy扩展函数中(验证否定)
#example 求1~1000的所有平方和
import timeit
normal_py_sec = timeit.timeit(sum(x*x for x in xrange(1000)),
                              number = 1000)
naive_np_sec = timeit.timeit(sum(na*na),
                             setup="import numpy as np;na=np.arange(1000)",
                             number = 1000)
good_np_sec = timeit.timeit(na.dot(na),
                            setup="import numpy as np; na=np.arange(1000)",
                            number = 1000)
print("Normal Python :%f sec"%normal_py_sec)
print("Naive Python :%f sec"%naive_np_sec)
print("Good NumPy: %f sec"%good_np_sec)

‘‘‘
Normal Python :0.081011 sec
Naive Python :0.384903 sec
Good NumPy: 0.013812 sec  经验证,已经没有多大差别了。用
‘‘‘

 

以上是关于《Python之机器学习(NumPy)》的主要内容,如果未能解决你的问题,请参考以下文章

机器学习入门之使用numpy和matplotlib绘制图形

《Python机器学习及实践》----无监督学习之数据聚类

《Python机器学习及实践》----无监督学习之数据聚类

Python机器学习入门之导学+无监督学习

python 机器学习有用的代码片段

机器学习三剑客之numpy