决策树之分类树快速理解
决策树就是一棵树,原始数据集就是树根,树根要分叉成树干,树干又要分叉成树枝,树枝再分叉…….,前面的分叉会对后面的分叉都有影响,因此越是前面的分叉越重要,第一次最重要。好,来考虑第一次分叉,分叉依据无非就是根据哪一个特征来分嘛,到底根据哪一个特征呢?这么多特征哪一个对于分类结果影响最大呢?
先来看这样一个表格
这就是一个数据集,只是特征向量的数目只有8条,可以看到已经分好类了,就是是否放贷,每一条特征向量都包含三个特征:有房?有工作?年收入
我们的问题是:哪个特征对分类结果的影响最大?换句话说,按照哪一个特征分类最准确,最接近实际分类结果?**
所以我们想:要是准确性能够量化就好了,怎么量化?伟大的香农做到了
来,我们翻一翻信息论:
1:信息熵
我们在中学学过熵的概念,就是描述事物的混乱程度,信息熵就是信息的混乱程度,专业点说就叫,信息的不确定性,当然啦,越低越好。摆出公式
如果待分类的事物X既可能属于A类也可能属于B类,概率分别为P(A),P(B),n就是X可能归属的类别数目,这里是2,P(X1)就是P(A),P(X2)就是P(B),信息熵就算出来了。
2:条件熵
条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性,随机变量X给定的条件下随机变量Y的条件熵(conditional entropy) H(Y|X),定义X给定条件下Y的条件概率分布的熵对X的数学期望:
其中,
这里的已知条件就是我依据的某个特征。
好,现在就ok了,计算,还是这张图
原始信息熵:是否放贷有5个是3个否,根据公式得
下面我们根据第一个特征来计算信息熵,我们看到,有房的4个人里面有3个可以放贷1个不放贷,没房的4个人里面2个可以放贷2个不能放贷。根据条件熵公式,
所以,根据是否有房这一特征来分类使得信息的不确定性降低了多少呢?
G = H - H1
这个G就称为信息增益,它就量化地表示了我根据某一个特征来分类导致信息发生的变化,其实是熵的减少或者数据无序度的减少量,G自然越大越好,G越大就表示根据这个特征来分类越准确。
算出每一个特征对应的信息增益G,选最大的就OK了。
好的,现在找到我们要的特征了,假设较F吧,我们就按照F来分叉,当然了F的取值可能有多种,有几种取值就有几个分支。这样每一个分支就对应一个新的数据集,此时的数据集就没有特征F了,OK?对于这个新数据集找到影响最大的特征F1,再分叉。每一个分支都这样干,以此类推。决策树就诞生了。
决策树之分类树快速理解相关推荐
- sklearn实现决策树(分类树)
阿喽哈~小伙伴们,今天我们来唠一唠决策树 ♣ ♣ ♣ 决策树应该是很多小伙伴入门机器学习的时候最先接触到的分类算法之一,决策树分为分类树和回归树,今天我们只说分类树~ 简单回顾一下分类树的算法原理:分 ...
- 【sklearn学习】决策树、分类树、剪枝策略
模块sklarn.tree sklearn中决策树的类都在"tree"这个模块之下,这个模块总共包含五个类: tree.DecisionTreeClassifier 分类树 tre ...
- 机器学习笔记——决策树之分类树
一.什么是决策树 决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题. 本文主要介 ...
- python决策树分类 导入数据集_python+sklearn实现决策树(分类树)
整理今天的代码-- 采用的是150条鸢尾花的数据集fishiris.csv # 读入数据,把Name列取出来作为标签(groundtruth) import pandas as pd data = p ...
- 决策树(分类树)——红酒数据(分类树的八个参数,一个属性,四个接口,以及绘图所用的代码)
#1.导入需要的算法库和模块 import pandas as pd import numpy as npfrom sklearn import tree from sklearn.datasets ...
- 机器学习-决策树之回归树python实战(预测泰坦尼克号幸存情况)(三)
本文用通俗易懂的方式来讲解分类树中的回归树,并以"一维回归的图像绘制"和"泰坦尼克号幸存者预测"两个例子来说明该算法原理. 以下是本文大纲: 1 Decisio ...
- 机器学习(四):CART分类树(基础篇)
机器学习(四):CART分类树(基础篇) 相关的决策树文章: 机器学习(四)ID3决策树 机器学习(四)C4.5决策树 机器学习(四)CART回归树 机器学习(四)决策树绘图 机器学习(四)剪枝技术 ...
- sklearn 决策树(分类树、回归树)的 重要参数、属性、方法理解
文章目录 决策分类树 引入 重要参数 1,criterion 2,splitter 3,max_depth 4,min_samples_leaf 5,min_samples_split 6,max_f ...
- Lesson 8.1Lesson 8.2 决策树的核心思想与建模流程CART分类树的建模流程与sklearn评估器参数详解
Lesson 8.1 决策树的核心思想与建模流程 从本节课开始,我们将介绍经典机器学习领域中最重要的一类有监督学习算法--树模型(决策树). 可此前的聚类算法类似,树模型也同样不是一个模型,而是一类模 ...
最新文章
- Centos7下安装Docker1.8
- Java数据结构与算法:排序算法
- android 双向滑动 seekbar
- PHP 常用代码大全
- 可可托海将打造研学旅游基地促经济发展
- mysql生成uui mybatis,MyBatis自动生成UUID并返回
- C#程序之二 -- 数独小游戏(1. UI设计)
- 7.2.5 dps 测试软件,魔兽世界7.2.5兽王猎DPS有什么改动测试
- 大学excel题库含答案_大学生计算机基础excel试题及答案
- 小白看了也会选:数据分析的常见工具有哪些
- python 网格策略_『量化经典策略』网格策略
- 基于脉振高频电压注入的永磁同步电机无感FOC
- 事业单位人力资源开发中的职业发展分析
- 基于RHEL7进行grub加密和解密
- PMI-ACP敏捷项目管理辅导:敏捷开发之 4句敏捷宣言
- 一幅长文细学华为MRS大数据开发(二)——HDFS分布式文件系统和ZooKeeper
- 复制百度文库文字收费内容
- Unity3D 内存管理
- 嵌入式Linux驱动笔记(二十五)------Input子系统框架
- 智芯传感MEMS压力传感器产品助力电子血压计安全性能大幅提升
热门文章
- C ++ 类 | 类与数组(Array)_4
- java中的class 类的作用_Java中Class和单例类的作用与类成员的理解
- 2017.9.25 Xor 失败总结
- load average多少是正常_对 cpu 与 load 的理解及线上问题处理思路解读
- redis命令执行流程分析
- gitlab windows安装_【Thrift】Windows编译Thrift源码及其依赖库
- rdlc 固定前两列每页都显示_现在的大学生,都不会论文排版了
- 用SSE加速CPU蒙皮计算
- 深入分析String类型(一)
- 【分布式缓存系列】Redis实现分布式锁的正确姿势