社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

机器学习实战(9)—— 决策树原理部分

人工智能爱好者社区 • 5 年前 • 561 次点击  

👇点击关注公众号👇

第一时间获取人工智能干货内容



今天我们来学习决策树算法。


我们统计了14天的气象数据(指标包括outlook,temperature,humidity,windy),并已知这些天气是否打球(play)。如果给出新一天的气象指标数据如:sunny,cool,high,TRUE,判断一下会不会去打球



预备知识:信息熵

熵是无序性(或不确定性)的度量指标。假如事件A的全概率划分是:(A1,A2,...,An),每部分发生的概率是(p1,p2,...,pn),那信息熵定义为:


训练数据集中共有14个实例,其中有9个实例属于yes类(适合打网球的),5个实例属于no类(不适合打网球)


打高尔夫(play)信息熵为:

做某事几率为0或者1则信息熵为0,做某事几率为0.5时,系统最混乱


决策的过程就是降低系统混乱程度的过程,也就是降低熵的过程。需要考虑其他状况(变量)的影响。


根据天气是否去打高尔夫:

= 0.694



信息增益:考虑某因素(例如天气)后,所减少的熵值


决策树是一棵倒立的树,从根节点不断分裂,直到达到叶节点。而我们做分裂时,考虑每次取到最大信息增益的因素作为分裂标准。



图中,针对sunny中的子训练数据集分支,有两个类别,该分支中有3个实例属于no类,有2个实例属于yes类,求类别属性新的信息熵。


再分别求3个非类别属性的信息熵,同时求出各属性的信息增益,选出信息增益最大的属性Humidity。


就这样不断计算信息熵和信息增益即可得到决策树,这就是基础的决策树算法原理!你学会了么?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/113774