机器学习-决策树最优类别属性选择的三个方法



本文所用符号:

  • \(D\):所有样本,如《西瓜书》中所有的西瓜样本
  • \(a\):用来划分样本的类别属性,a有V个可取值{\(a^1,a^2 \dots , a^V\)},如若用a表示“色泽”,则a的取值是{\(a^1=青绿,a^2=乌黑,a^3=浅白\)},此时\(V=3\)
  • \(D^v\):用a对样本D进行划分后属于\(a^v\)的样本子集
  • \(|y|\):\(y\)属性可取个数,下文中用y表示模型最终划分的结果集,如西瓜书中的{好瓜,坏瓜}

信息增益

使用信息熵\[Ent(D)=-\sum_{k=1}^Vp_klog_2p_k\]度量样本合集纯度,\(Ent(D)\)越大,纯度越低。用a对样本分类后,信息增益
\[Gain(D,a)=Ent(D)-\sum_{v=1}^V \frac{|D^v|}{|D|}Ent(D^v)\]越大说明使用a作为划分类别对样本划分后纯度提高越多,其中\(\sum_{v=1}^V \frac{|D^v|}{|D|}Ent(D^v)\)表示划分后的每个子集的信息熵的加权和。 选择使信息增益最大化的划分类别如a对样本进行第一次划分后,形成v个子样本:{\(D^1,D^2 \cdots,D^v\)},再对每个子样本用相同的方法继续划分即可,如对\(D^1\)划分:选择除a之外的类别属性b和c,分别计算\(Gain(D^1,b)\)和\(Gain(D^1,c)\),最后选择使结果值较大的类别属性进行划分。使用信息增益法划分子集的算法叫做ID3决策树算法。

增益率

信息增益法对可取值较多的类别划分属性有所偏好,可能影响模型的泛化能力,C4.5决策树算法中使用“增益率”选择最优划分属性。增益率定义:\[gain_ratio(D,a)=\frac{Gain(D,a)}{IV(a)}\],其中\[IV(a)=-\sum_{v=1}^V\frac{|D^v|}{|D|}log_2\frac{|D^v|}{|D|}\],为什么分母是这样子?希望有时间能看下《信息论》,但是可以粗浅地看出,a的取值可能性越多,\(IV(a)\)越大(假设a只有一个取值,那么IV(a)为0;取两个值且各占一半,IV(a)为 \(-log_2\frac{1}{2}\);取三个值且各占三分之一,IV(a)为\(-log_2\frac{1}{3}\)),正好起到调停作用。

增益率对可取值数量较小的类别属性有所偏好,实际计算中,先选出信息增益高于平均值的若干个类别属性,然后再从中选择增益率较高的属性作为分类属性

基尼指数

CART决策树算法使用基尼指数,其定义为:\[Gini(D)=\sum_{k=1}^{|y|}\sum_{k' \neq k} p_kp_{k'}=1-\sum_{k=1}^{|y|}p_k^2\],基尼指数表示从D中随机取出两个样本其标记不一致的概率,此概率越低,说明纯度越高。

类别属性a的基尼指数定义为\[Gini_index(D,a)=\sum_{v=1}^V\frac{|D^v|}{|D|}Gini(D^v)\],选择基尼指数最小的属性作为划分属性。



参考:

  • 《机器学习》周志华著
  • 《机器学习工程师》网易云课堂出品

原文地址:https://www.cnblogs.com/zzy0471/p/9497285.html

时间: 2024-10-11 01:07:07

机器学习-决策树最优类别属性选择的三个方法的相关文章

决策树归纳(ID3属性选择度量)Java实现

一般的决策树归纳框架见之前的博文:http://blog.csdn.net/zhyoulun/article/details/41978381 ID3属性选择度量原理 ID3使用信息增益作为属性选择度量.该度量基于香农在研究消息的值或"信息内容"的信息论方面的先驱工作.该结点N代表或存放分区D的元组.选择具有最高信息增益的属性作为结点N的分裂属性.该属性使结果分区中对元祖分类所需要的信息量最小,并反映这些分区中的最小随机性或"不纯性".这种方法使得对一个对象分类所需

机器学习—— 决策树(ID3算法)的分析与实现

KNN算法请参考:http://blog.csdn.net/gamer_gyt/article/details/47418223 一.简介         决策树是一个预测模型:他代表的是对象属性与对象值之间的一种映射关系.树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值.决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出. 数据挖掘中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用

机器学习中特征的处理及选择

基础概念 特征工程是通过对原始数据的处理和加工,将原始数据属性通过处理转换为数据特征的过程,属性是数据本身具有的维度,特征是数据中所呈现出来的某一种重要的特性,通常是通过属性的计算,组合或转换得到的.比如主成分分析就是将大量的数据属性转换为少数几个特征的过程.某种程度而言,好的数据以及特征往往是一个性能优秀模型的基础. 既然叫特征工程,自然涵盖了很多内容,而其中涉及到的比较重要的部分是特征的处理及选择. 特征处理包含: 数据清洗 数据规范化 特征构造与衍生 特征选择包含: 特征过滤 wrappe

机器学习-决策树的基本思想

机器学习-决策树的基本思想 决策树算法是最早的机器学习算法之一. 算法框架 1.决策树主函数 各种决策树的主函数都大同小异,本质上是一个递归函数.该函数的主要功能是按照某种规则生长出决策树的各个分支节点,并根据终止条件结束算法.一般来讲,主函数需要完成如下几个功能. (1)输入需要分类的数据集和类别标签 (2)根据某种分类规则得到最优的划分特征,并创建特征的划分节点--计算最优特征子函数 (3)按照该特征的每个取值划分数据集为若干部分--划分数据集子函数 (4)根据划分子函数的计算结果构建出新的

[转]如何处理机器学习中的不平衡类别

如何处理机器学习中的不平衡类别 原文地址:How to Handle Imbalanced Classes in Machine Learning 原文作者:elitedatascience 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- 译者:RichardLeeH 校对者:lsvih, lileizhenshuai 如何处理机器学习中的不平衡类别 不平衡类别使得"准确率"失去意义.这是机器学习 (特别是在分类)中一个令人惊讶的常见问题,出现于每

#8.10.16总结# 属性选择符 伪对象选择符 CSS的常用样式

属性选择符 E[att] E[att="val"] E[att~="val"] E[att^="val"] E[att$="val"] E[att*="val"] E[att|="val"] 伪对象选择符  E:first-letter/E::first-letter 设置对象内的第一个字符的样式. <p>今天,阳光明媚,晴空万里,非常适合户外活动,如踏青.远足之类的.长期坐

善用你的html的属性选择符

在学习Css3.0选择符的时候,参考了<CSS3.0参考手册>.有个地方没有说明,于是被坑了半个小时呀! 在这里和大家分享一下,在选择符分类那里,有一类是属性选择符是通过字串来匹配的! 形式有以下几种: 属性名选择符E[att] -- 匹配文档中具有att属性的E元素属性值选择符E[att=val] -- 匹配文档中具有att属性且其值为val的E元素E[att~=val] -- 匹配文档中具有att属性且其中一个值(多个值使用空格分隔)为val(val不能包含空格)的E元素E[att|=va

JQuery 多属性选择节点

JQuery 1.6.0+以后用prop()代替attr(); 多属性选择节点 $("input[type=checkbox][name='first2'][value='first4']"). 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html

jquery-checkbox的属性选择判断

------------------------------------------------------checkbox的属性选择判断: <script type="text/javascript"> $(function(){ alert("start"); alert($(".parentchack").attr("checked")); if($(".parentchack").att