机器学习实战 决策树代码 计算香农熵 Error return arrays must be of ArrayType
来源:互联网 发布:淘宝怎么修改一口价 编辑:程序博客网 时间:2024/06/08 17:10
from math import logimport xlrd***# from numpy import ****import operatordef calcShannonEnt(dataSet):#calculata shannonEnt numEntries = len(dataSet) labelCounts = {} for featVec in dataSet:#将当前键值加入字典并记录类别出现的次数 currentLabel = featVec[-1] if currentLabel not in labelCounts.keys(): labelCounts[currentLabel] = 0 labelCounts[currentLabel] += 1 shannonEnt = 0.0 for key in labelCounts:#计算香农熵 prob = float(labelCounts[key])/numEntries#使用所有类标签的发生频率计算类别出现的概率 tmp = prob*log(prob,2) shannonEnt -= tmp#得到香农熵 return shannonEnt
代码在运行时会出现TypeError: return arrays must be of ArrayType的错误,因为log的第二个参数不是base而是out array。如果你只是想执行普通的log操作,可以选择使用numpy.math.log(1.1, 2)或者使用python自带的math模块的log函数,而不是导入numpy中所有的函数TT
阅读全文
0 0
- 机器学习实战 决策树代码 计算香农熵 Error return arrays must be of ArrayType
- Python TypeError: return arrays must be of ArrayType
- 机器学习实战第九章ValueError: Masked arrays must be 1-D
- 机器学习_决策树_香农熵和信息增益
- 《机器学习实战》——决策树代码
- 《机器学习实战》决策树代码详解
- 机器学习实战-决策树ID3-python代码
- 机器学习实战---决策树
- 机器学习实战-决策树
- 机器学习实战---决策树
- 机器学习实战 决策树
- [机器学习实战]-决策树
- 机器学习实战--决策树
- 《机器学习实战》--决策树
- 机器学习实战-决策树
- 《机器学习实战》决策树
- 机器学习实战-决策树
- 机器学习实战-决策树
- GYM
- Android 面试
- README
- 符合ASIL D的AUTOSAR基础软件带来的安全和性能
- 机器学习实战-之SVM核函数与案例
- 机器学习实战 决策树代码 计算香农熵 Error return arrays must be of ArrayType
- angular框架的SmartAdmin模板 如何请求后台数据
- 575. Distribute Candies
- git 常用命令
- php中 $$str 中 "$$"是什麽意思
- Mongodb数组操作$(update)、$占位符更新嵌套数组、嵌套文档集合
- myBatis逆向
- springmvc 参数绑定
- 算法刷题心得:动态规划 scramble-string