数据发掘规模十大经典算法之—CART算法(附代码)
简介 CART与C4.5相同,是决定树算法的一种。另外,常见的决定树算法尚有ID3,这三者的差异之处在于特性的分别:
根基头脑 CART假设决定树是二叉树,内部结点特性的取值为“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支。这样的决定树等价于递归地二分每个特性,将输入空间即特性空间分别为有限个单位,并在这些单位上确定猜测的概率漫衍,也就是在输入给定的前提下输出的前提概率漫衍。 CART算法由以下两步构成:
CART决定树的天生绩是递归地构建二叉决定树的进程。CART决定树既可以用于分类也可以用于回归。本文我们仅接头用于分类的CART。对分类树而言,CART用Gini系数最小化准则来举办特性选择,天生二叉树。 CART天生算法如下:
按照实习数据集,从根结点开始,递归地对每个结点举办以下操纵,构建二叉决定树: 设结点的实习数据集为D,计较现有特性对该数据集的Gini系数。此时,对每一个特性A,对其也许取的每个值a,按照样本点对A=a的测试为“是”或 “否”将D支解成D1和D2两部门,计较A=a时的Gini系数。 在全部也许的特性A以及它们全部也许的切分点a中,选择Gini系数最小的特性及其对应的切分点作为最优特性与最优切分点。依最优特性与最优切分点,从现结点天生两个子结点,将实习数据集依特性分派到两个子结点中去。 对两个子结点递归地挪用步调l~2,直至满意遏制前提。 天生CART决定树。 算法遏制计较的前提是结点中的样本个数小于预定阈值,或样本集的Gini系数小于预定阈值(样本根基属于统一类),可能没有更多特性。 代码 代码已在github上实现(挪用sklearn),这里也贴出来 测试数据集为MNIST数据集,获取地点为train.csv 运行功效 【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |