决策树的Python代码分析(一)
来源:互联网 发布:一个网络协议主要由 编辑:程序博客网 时间:2024/05/22 15:44
参考书籍:《机器学习实战》
熵的计算
from math import log
def calcShannonEnt(dataSet):numEntries = len(dataSet) //求dataset的元素个数,dataSet的类型是列表 labelCounts = {} //创建空列表for featVec in dataSet: //对dataSet的每一个元素进行处理currentLabel = featVec[-1] //将dataSet的每一个元素的最后一个元素选择出来,dataSet的元素也是列表if currentLabel not in labelCounts.keys(): //对字典的keys方法了解labelCounts[currentLabel] = 0 //若没有该键,则使用字典的自动添加进行添加值为0的项,取0是因为下一行代码labelCounts[currentLabel] += 1shannonEnt = 0.0for key in labelCounts:prob = float(labelCounts[key]) / numEntriesshannonEnt -= prob * log(prob,2)return shannonEnt
熵的计算的代码很容易理解,主要掌握有
1.字典的自动添加能力,字典的keys方法;
2.列表的len的方法,取最后的元素使用-1这个索引值
3.for循环语句
4.if 语句
0 0
- 决策树的Python代码分析(一)
- 决策树的Python代码分析(二)
- 决策树的python代码
- 决策树(Decision Tree)--python实例代码分析(3)
- 决策树的python代码注解
- 决策树的python代码实现
- 决策树ID3代码(Python)
- ID3决策树的Python代码实现
- 决策树原理实例(python代码实现)
- 【python实战】3 决策树(代码讲解)
- 决策树代码python
- 决策树可视化python代码
- 机器学习实战_初识决策树算法_理解其python代码(一)
- python实现决策树分类(一)
- appium python-client代码分析(一)
- 决策树算法Python代码实现
- python机器学习——数据的分类(knn,决策树,贝叶斯)代码笔记
- 决策树的Python实现
- leetcode--Search in Rotated Sorted Array II
- [数学]Sum of f(x) 约数之和问题
- AppDelegate生命周期详解
- 面试常考的atoi函数
- jsp 有哪些内置对象?作用分别是什么?
- 决策树的Python代码分析(一)
- Minimum Depth of Binary Tree
- Spring Bean的5种作用域
- MVVM
- hibernate 懒加载异常
- COM学习笔记2_COM接口vbtl内存布局
- libgdx html 跨平台的坑
- Trie树
- jQuery图片裁剪插件