python机器学习实战决策树

def createtree(dataset,labels):
   classlist = [example[-1] for example in dataset]
   if classlist.count(classlist[0]) == len(classlist):#print(labels)
      return classlist[0]
   if  len(dataset[0]) == 1:
      return majorityCnt(classlist)
   bestFeat = chooseBestFeatureToSplit(dataset)
   bestFeatLabel = labels[bestFeat]
   myTree = {bestFeatLabel:{}}
   bestfeatvalues = [example[bestFeat] for example in dataset]
   del[labels[bestFeat]]
   uniqueVals = set(bestfeatvalues)
   for value in bestfeatvalues:
      sublabels = labels[:]
      #print(sublabels)
      myTree[bestFeatLabel][value] = createtree(splitDataSet(dataset,bestFeat,value),sublabels)
   print(labels)
   return myTree

这个是决策树的部分代码,源于机器学习实战,我在return的前加了print(labels),显示出来一共有8组标签,这是为社么啊,求大神告知,递归的话我找不出来这么多标签啊,求大神告知

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值