本文是针对《机器学习实战》内函数的解析。并以页数呈现。
P19:numpy.tile(A,rep)函数
当rep为数字时,生成一个一维重复rep次的list。
当rep为元组(m,n)时,生成一个m行并且每行重复n次的矩阵。
import numpy as np
a1 = [1,2,3]
a2 = [2,3,4]
b1 = np.tile(a1,1)
b2 = np.tile(a1,(3,2))
b2_1 = np.tile(a2,(3,2))
b2_2 = b2 - b2_1
print("b1:")
print(b1)
print("b2:")
print(b2)
print("b2_2:")
print(b2_2)
b1:
[1 2 3]
b2:
[[1 2 3 1 2 3]
[1 2 3 1 2 3]
[1 2 3 1 2 3]]
b2_2:
[[-1 -1 -1 -1 -1 -1]
[-1 -1 -1 -1 -1 -1]
[-1 -1 -1 -1 -1 -1]]
P19:sqDiffMat.sum(axis=1)
axis=0表述列 axis=1表述行
P19:distances.argsort()
函数意义:将x中的元素从小到大排列,提取其对应的index(索引),然后输出到y。
import numpy as np
x = np.array([-1,-2,-3,1,2,3])
y = x.argsort()
print(y)
[2 1 0 3 4 5]
P19:python字典的dict.get(key,value)
该方法是通过键来获取相应的值,如果相应的键不存在则返回None。
默认的返回值在非返回None值情况下会被所得值替代,如果查询失败,则返回一个默认值。
import numpy as np
dict = {1:'one',2:'two',3:'three',4:'four'}
print(dict.get(1))
print(dict.get(4,None))
print(dict.get(4,"get"))
print(dict.get(5))
print(dict.get(5,0))
one
four
four
None
0
P19:python 字典的iteritems()函数与itemgetter()函数
items()函数,将一个字典以列表的形式返回,因为字典是无序的,所以返回的列表也是无序的。
iteritems()函数在Python3被废除,直接使用items()函数代替。
import numpy as np
a_dict = {'1':'one','2':'two'}
b_dict = a_dict.items()
print(type(b_dict))
for i,j in b_dict:
print(i,j)
1 one
2 two
P21:readlines()函数
python中readlines()函数:读取所有行(直到结束符 EOF)并返回列表,可以使用for...in 结构语句去处理。
如遇到结束符 “EOF” 则返回空字符串。
P21:numpy.zeros(shape, dtype=float, order=’C’)
shape:int或ints序列(新数组的形状)
dtype:矩阵内部元素类型(默认为float)
order:{‘C’,‘F’}可选,是否在存储器中以C或Fortran连续(按行或列方式)存储多维数据。
import numpy as np
from numpy.ma import zeros
a1 = zeros(5)
a2 = zeros((5,3))
a3 = zeros((5,3),dtype=int)
print("a1:")
print(a1)
print("a2:")
print(a2)
print("a3:")
print(a3)
a1:
[0. 0. 0. 0. 0.]
a2:
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
a3:
[[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]]
P21:strip()函数
string.strip(rm)
当rm不为空时,删除s字符串中开头、结尾处,位于 rm删除序列的字符
当rm为空时候,默认删除空白符(包括'\n', '\r', '\t', ' ')
P22:returnMatrix[index,:] = listFromLine[0:3]
Matrix[index,:] = list[0:3]意义:将list中0,1,2中的元素赋值给index行中所有的元素
P26:matrix.shape[0]
函数作用:快速读取矩阵的形状,使用shape[0]读取矩阵第一维度的长度