按照给定特征划分数据集
""splitDataSet函数参数:
dataSet为输入数据集,包含label值;axis为每行的第axis元素,value为对应元素的值,即特征值。
函数功能:找出所有行中第axis个元素值为value的行,去掉该元素,返回对应行矩阵
当需要按照某个特征值划分数据时,需要将所有符合要求的元素抽取出来,便于计算信息增益,特征之前的就删除啦"""
def splitDataSet(dataSet,axis,value):
retDataSet=[]
for featVec in dataSet:
if featVec[axis]==value:
reducedFeatVec=featVec[0:axis]#特征之前的数据,要去掉(reduce)
reducedFeatVec.extend(featVec[axis+1:])#指定特征之后的数据,是列表
retDataSet.append(reducedFeatVec)填入列表元素
return retDataSet
注意:在列表中,自身to自身是【】!