AIml程序员

使用python机器学习(一)

2017-07-04  本文已影响1879人  jacksu在简书

python经常作为机器学习的首选,有一个统计,50%以上的机器学习开发者使用python。在学习机器学习之前需要熟悉以下几个python模块:

现在我们开始熟悉numpy的常用操作函数:
** 一维数组 **

#encoding=utf8
import numpy as np

# 定义一维数组
a = np.array([2, 0, 1, 5, 8, 3])
print u'原始数据:', a

#输出最大、最小值及形状
print u'最小值:', a.min()
print u'最大值:', a.max()
print u'形状', a.shape

# 数据切片
print u'切片操作:'
# [:-2]后面两个两个值不取
print a[:-2]
#[-2:]表示后往前数两个数字,获取数字至结尾
print a[-2:]
#[:1]表示从头开始获取,获取1个数字
print a[:1]

# 排序
print type(a)
print a.dtype
a.sort()
print u'排序后:', a

运行结果

原始数据: [2 0 1 5 8 3]
最小值: 0
最大值: 8
形状 (6,)
切片操作:
[2 0 1 5]
[8 3]
[2]
<type 'numpy.ndarray'>
int32
排序后: [0 1 2 3 5 8]

二维数组

#二维数组操作


c = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [7, 8, 9, 10]])

# 获取值
print u'形状:', c.shape
print u'获取值:', c[1][0]
print u'获取某行:'
print c[1][:]
print u'获取某行并切片:'
print c[0][:-1]
print c[0][-1:]

#获取具体某列值
print u'获取第3列:'
#np.newaxis增加一个新维度
print c[:,np.newaxis, 2]


#函数
#sin
print np.sin(np.pi/6)
print np.sin(np.pi/2)
print np.tan(np.pi/2)

print np.arange(0,4)

运行结果

形状: (3, 4)
获取值: 4
获取某行:
[4 5 6 7]
获取某行并切片:
[1 2 3]
[4]
获取第3列:
[[3]
 [6]
 [9]]
0.5
1.0
1.63312393532e+16
[0 1 2 3]

注意,axis在numpy中表示第n个索引一个数组,在多维数组中,每个axis有一个索引,比如a = np.array([[1,2],[3,4]]),a[1,0] # to indexa, we specific 1 at the first axis and 0 at the second axis.

文中涉及源代码参见 github

参考

http://blog.csdn.net/eastmount/article/details/53144633

上一篇下一篇

猜你喜欢

热点阅读