決策樹劃分資料集
阿新 • • 發佈:2019-01-02
這段程式碼主要是劃分資料,比如說看這個矩陣的第一列是否滿足需要,如果滿足需要,就把後面的新增進來,然後追加到新的矩陣中。。可是這麼做有什麼用途呢??另外,axis是軸的意思,這段程式碼給出了三個引數,第一個是要被劃分的資料集,第二個是軸線,比如說是第一列,還是第二列,第三個是value,看這一列的數值是否==value
def splitDataSet(dataSet, axis, value):
retDataSet = []
for featVec in dataSet:
print(featVec)
if featVec[axis] == value:
reducedFeatVec = featVec[:axis]
reducedFeatVec.extend(featVec[axis+1:])
retDataSet.append(reducedFeatVec)
return retDataSet
featVec[:axis] 是從列表index0到axis,如果axis=0,那麼返回的是一個空的列表
featVec[axis+1:]是從列表index axis+1到最後
extend 是指將包含的內容加進去
append是將所有的內容加進去,比如一整個列表[1,2,3,5 ]