TypeError: list indices must be integers or slices, not tuple

调用trees.py(计算给定数据集的香农熵+数据划分)

注:代码选自《Machine Learning in Action机器学习实战》

​#trees.py
from math import log
def calcShannonEnt(dataSet):
    numEntries=len(dataSet)
    labelCountes={}
    for featVec in dataSet:
        currentLabel=featVec[-1]
        if currentLabel not in labelCountes.keys():
            labelCountes[currentLabel]=0
        labelCountes[currentLabel]+=1
    shannonEnt=0.0
    for key in labelCountes:
        prob=float(labelCountes[key])/numEntries
        shannonEnt-=prob*log(prob,2)
    return shannonEnt
def  createDateSet():
    dataSet=[[1,1,'yes']
             [1,1,'yes']
             [1,0,'yes']
             [0,1,'no']
             [0,1,'no']]
    labels=['no surfacing','flippers']
    return dataSet,labels​
#调用trees.py/划分数据
import trees
myDat,labels=trees.createDateSet()
print(myDat)

TypeError

Traceback (most recent call last):
  File "E:/PyCharm/untitled/shang.py", line 2, in <module>
    myDat,labels=trees.createDateSet()
  File "E:\PyCharm\untitled\trees.py", line 17, in createDateSet
    [1,1,'yes']
TypeError: list indices must be integers or slices, not tuple

修改:

#修改dataSet即可
    dataSet=[[1,1,'yes'],
             [1,1,'yes'],
             [1,0,'yes'],
             [0,1,'no'],
             [0,1,'no']]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值