1. 程式人生 > >決策樹劃分資料集

決策樹劃分資料集

這段程式碼主要是劃分資料,比如說看這個矩陣的第一列是否滿足需要,如果滿足需要,就把後面的新增進來,然後追加到新的矩陣中。。可是這麼做有什麼用途呢??另外,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 ]