sklearn——决策树基础概念
一.信息增益
划分数据集前后信息发生的变化叫做信息增益
熵:
n是分类的数目
二.熵的计算
from math import log
def calcShannonEnt(dataSet):numEntries = len(dataSet)labelCounts = {}for fearVec in dataSet:currentLabel = fearVec[-1]if currentLabel not in labelCounts.keys():labelCounts[currentLabel] = 0labelCounts[currentLabel] +=1shannonEnt = 0.0for key in labelCounts:prob = float(labelCounts[key])/numEntriesshannonEnt -=prob*log(prob,2)return shannonEnt
三.按照给定特征划分数据集
def splitDataSet(dataSet, axis, value):retDataSet = []for featVec in dataSet:if featVec in dataSet:reduceFeatVec = featVec[:axis]reduceFeatVec.extend(featVec[axis+1:])reduceFeatVec.append(reduceFeatVec)return retDataSet
四.选择最好的数据集划分方式
def chooseBestFeatureToSplit(dataSet):numFeatures = len(dataSet[0])-1baseEntropy = calcShannonEnt(dataSet)bestInfoGain=0.0;bestFeature = -1for i in range(numFeatures):featList = [example[i] for example in dataSet]uniqueVals = set(featList)newEntropy = 0.0for value in uniqueVals:subDataSet =splitDataSet(dataSet,i,value)prob = len(subDataSet)/float(len(dataSet))newEntropy+=prob*calcShannonEnt(subDataSet)infoGain = baseEntropy-newEntropyif (infoGain>bestInfoGain):bestInfoGain = infoGainbestFeature =ireturn bestFeature
sklearn——决策树基础概念相关推荐
- (自学)sklearn决策树基础知识|解决centos7.8 graphviz报错不能画图的问题
sklearn常规流程: from sklearn import tree #导入需要的模块 clf = tree.DecisionTreeClassifier()#实例化 clf = clf.fit ...
- 机器学习的9个基础概念和10种基本算法总结
https://blog.csdn.net/libaqiangdeliba/article/details/41901387 1.基础概念: (1) 10折交叉验证:英文名是10-fold cross ...
- 从基础概念到数学公式,这是一份520页的机器学习笔记(图文并茂)
导读:近日,来自SAP(全球第一大商业软件公司)的梁劲(Jim Liang)公开了自己所写的一份 520 页的学习教程(英文版),详细.明了地介绍了机器学习中的相关概念.数学知识和各种经典算法.完整的 ...
- 机器学习入门 笔记(二) 机器学习基础概念
第二章 机器学习基础概念 1.机器的数据 2.机器学习的主要任务 3.监督学习和非监督学习 4.批量.在线学习.参数.非参数学习 5.哲学思考 6.环境的搭建 1.机器的数据 我们以鸢尾花的数据为例. ...
- 机器学习——基础概念
一. 机器学习基础概念 总结过层中,我结合了头歌上的相关公开课程:详见 (一).什么是机器学习? 机器学习致力于通过计算的手段,利用经验来改善系统的性能. "经验"-->通常 ...
- 【统计学习】25个必须掌握的数据分析基础概念
16个必须掌握的数据分析基础概念 1. 描述性统计 2. 假设性检验 2.1 参数检验 2.2 非参数检验 3. 置信度分析 4. 列联表分析 5. 相关分析 6. 方差分析 7. 回归分析 8. 聚 ...
- 机器学习笔记(一)numpy的使用、机器学习基础概念
目录 1.numpy 1.1.创建 numpy.array 1.1.1.常规创建 numpy.array 的方法 1.1.2.其他创建 numpy.array 的方法 1.1.2.其他创建随机数 ra ...
- 决策树基础—比特化Bits,信息熵,条件熵,联合熵
决策树基础-比特化Bits,信息熵,条件熵,联合熵 比特化(Bits) 一般化的比特化 信息熵 条件熵 联合熵 知道了决策树的直观理解,接下来了解一些决策树要用到了知识 比特化(Bits) 假设我现在 ...
- 深度学习:基础概念陈述及P-R曲线绘制案例(Python)
文章目录 @[toc] 一.概念陈述 1.1引例 1.2机器学习与深度学习 1.3基础概念 1.4机器学习与统计学的对比 二.数据集(dataset) 2.1数据集的数学表示 2.2训练集和测试集 2 ...
- 机器学习实战教程(二):决策树基础篇之让我们从相亲说起
机器学习实战教程(二):决策树基础篇之让我们从相亲说起 一.前言 二.决策树 三.决策树的构建的准备工作 1.特征选择 (1)香农熵 (2)编写代码计算经验熵 (3) 信息增益 (4) 编写代码计算信 ...
最新文章
- java中匿名内部类详解_java 中匿名内部类的实例详解
- 解决GitHub加载不出图片问题
- linux php后门,Linux_一个初级的linux后门制作方法,众所周知,Linux的文件权限如: - phpStudy...
- 攻防世界-Reverse-666(图解详细)
- 从HBase中移除WAL?3D XPoint技术带来的变革
- linux联想电脑wifi密码,联想笔记本Y7000—ubuntu16.4无法开启wifi的解决办法
- 终端安全 | 全面适配国产系统,打造政企合规终端
- Intel® Nehalem/Westmere架构/微架构/流水线 (4) - 执行引擎
- 类的自动转换和强制类型转换
- PDF区域文本提取工具
- 计算机怎么改鼠标标志,图文帮你如何自定义电脑鼠标指针的图标
- 国内开源镜像站地址汇总
- 小打卡软件测试,考勤打卡软件大测评,这款打卡软件你有在用吗?
- 答疑解惑 | 关于PMBOK第七版,常见问题合集【附电子版】
- 罗格斯大学计算机科学属哪个学院,罗格斯大学工程学院信息介绍以及申请条件详细解读...
- Hazelcast IMDG参考中文版手册-第四章-配置
- 电影评分预测系统分析
- 好文回顾:中国游戏编年史 中国游戏的二十年(5)
- 在全民直播的背景下,金融机构做直播带货是必须的吗?
- chrome扩展程序科学_扩展科学知识的最佳网站
热门文章
- 简书android 输入法设置,Android输入法弹出流程
- PHP导航栏管理,zblog导航栏管理设置的几种方法
- php文章上一篇,thinkphp5实现文章上一篇,下一篇
- new file会创建文件吗_520了!除了new个对象,你还会用supplier创建对象吗?
- mysql 5.1 开启慢查询_mysql开启慢查询
- 递归和迭代_斐波那契数列的实现:递归方式和迭代方式
- MySQL:设置字段默认为当前时间
- Go基础:数组、切片与指针
- C#:“System.Web.Mvc.Controller.File(byte[], string)”是一个“方法”,这在给定的上下文中无效
- Linux下防止rm -frv 删除错误的解决办法