[Machine Learning]Python机器学习库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[Machine Learning]Python机器学习库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2902字,纯文字阅读大概需要5分钟。
内容图文
Numpy:
numpy提供两种基本的对象:ndarray和ufunc,ndarray是存储单一数据类型的多为数组,ufunc是能够对数组进行操作的函数。
创建数组:
a = numpy.array([1, 2, 3, 4])
b = np.array([[1, 2, 3, 4], [4, 5, 6, 7]])
数组的形状可以通过其shape属性获得,它是一个描述数组各个轴长度的元组:
1 a.shape 2 # 结果: (4,) 3 b.shape 4 # 结果: (2, 4)
在保持数组元素个数不变的情况下,可以通过改变数组shape属性,改变数组每个轴的大小:(数组元素在内存中的位置不变)
1 b.shape = 4,2 2#结果3#array([[1, 2],4# [3, 4],5# [4, 5],6# [6, 7]])
当设置某个轴的元素个数为-1时,将自动计算此轴的长度。使用reshape()方法可以创建指定形状的新数组,原数组保持不变,新数组和原数组是共享存储空间的,修改会相互影响:
1 c = b.reshape(2, 4) 2#结果3#array([[1, 2, 3, 4],4# [4, 5, 6, 7]])
数组元素的类型可以通过dtype属性获得:
c.dtype # 结果 # dtype(‘int64‘)
可以用dtype参数在创建数组时指定元素类型,float是64bit的双精度浮点类型,complex是128bit的双精度复数类型:
1 numpy.array([1,2,3,4], dtype=np.float)
Numpy的完整的类型列表存储在typeDict字典中,可以将其转换为集合来查看:
{numpy.bool_,
numpy.object_,
numpy.string_,
numpy.unicode_,
numpy.void,
numpy.int8,
numpy.int16,
numpy.int32,
numpy.int64,
numpy.int64,
numpy.uint8,
numpy.uint16,
numpy.uint32,
numpy.uint64,
numpy.uint64,
numpy.float16,
numpy.float32,
numpy.float64,
numpy.float128,
numpy.datetime64,
numpy.timedelta64,
numpy.complex64,
numpy.complex128,
numpy.complex256}
arange()通过指定开始值,终止值和步长创建表示等差数列的一位数组(不包括终止值):
1 numpy.arange(0, 1, 0.1) 2#结果3#array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
linspace()通过指定开始值,终止值和元素个数创建等差数列的一维数组:
1 numpy.linspace(0, 1, 10) #步长1/92#结果3#array([ 0. , 0.11111111, 0.22222222, 0.33333333, #0.44444444,4# 0.55555556, 0.66666667, 0.77777778, 0.88888889, 1.])56 numpy.linspace(0, 1, 10, endpoint=False) #步长1/107#结果8#array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
logspace()用于创建等比数列。
zeros(), ones, empty()可以创建指定形状和类型的数组, zeros_like(),ones_like(), empty_like()可以用来创建数组的形状及类型相同, 例如zeros_like(a) 和 zeros(a.shape, a.dtype):
numpy.empty((2, 3), numpy.int) #只分配类型,不初始化 #结果 #array([[-5764607523034234880, 6917537799820997240, 4327211011], # [ 4327214544, 4327214608, 844424930131968]]) numpy.zeros(4, numpy.float) #元素被初始化为0,默认类型numpy.float #结果: #array([ 0., 0., 0., 0.])
frombuffer(),fromstring()和fromfile()等可以从字节序列或文件创建数组:
1 s = "abcdefg" 2 numpy.fromstring(s, dtype=numpy.int8) 3#结果: 4#array([ 97, 98, 99, 100, 101, 102, 103], dtype=int8) 5 6 s = "abcdef" 7 numpy.fromstring(s, dtype=numpy.int16) 8#结果 9#array([25185, 25699, 26213], dtype=int16)10# 其中每个元素等于两个字节表示一个整数,98 * 256 + 97
还可以定义一个从下标计算数值的函数,然后使用fromfunction()创建数组:
def func(i): return i % 4 + 1 numpy.fromfunction(func, (10, )) #结果 #array([ 1., 2., 3., 4., 1., 2., 3., 4., 1., 2.])
存取元素:
a = numpy.arange(10) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) a[5] #用整数作为下标可以获取数组中的某个元素 #结果:5 a[3 : 5] #用切片作为下标获取数组一部分,不包括a[5] #结果:array([3, 4]) a[2:4]=100,101 #用下标来修改元素的值 #结果:array([ 0, 1, 100, 101, 4, 5, 6, 7, 8, 9])
通过切片获取的新数组是原数组的一个数组,它与原始数组共享同一数据空间。
使用整数列表对数组元素进行存取时,得到的新数组不和原始数组共享数据,整数数组和布尔数组类似:
1 x = numpy.arange(10, 1, -1) 2#array([10, 9, 8, 7, 6, 5, 4, 3, 2])34 x[[3, 3, 1, 8]] #获取数组中下标为3, 3, 1, 8的四个元素,组成一个新的数组
原文:http://www.cnblogs.com/skycore/p/4952824.html
内容总结
以上是互联网集市为您收集整理的[Machine Learning]Python机器学习库全部内容,希望文章能够帮你解决[Machine Learning]Python机器学习库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。