本文是针对《机器学习实战》(第三章)内函数的解析。并以页数呈现。
P37:list.append与list.extend区别(使用书中实例)
#三个传参分别是:数据集,划分数据集的特征值,需要返回特征的值
def splitDataSet(dataSet,axis,value):
#首先创建一个list以免魂绕数据
retDataSet = []
for featVec in dataSet:
#如果featVec[划分数据集的特征值] == 需要返回特征的值,也就是第一个数据为1
if featVec[axis] == value:
#将dataSet[:axis]临时保存下来
reducedFeatVec = featVec[:axis]
#将dataSet排序axis+1之后的数据拼接[a,b].extend[c,d]=[a,b,c,d]
reducedFeatVec.extend(featVec[axis+1:])
# [a,b].append[c,d]=[a,b,[c,d]]
retDataSet.append(reducedFeatVec)
return retDataSet
P38:[example[i] for example in dataSet]列表推导
推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。