机器学习算法概述第五章——CART算法
特点:
是一个二叉树,元素可以重复利用,可以做回归也可以做分类,分类用最小二乘法,即误差平方和最小
切割方法:
对于可量化的x来说:
切割点通常为两个x的平均值
左右两部分分别取均值,再评判以哪个分割点的误差平方和最小,即第一层根节点为此点
以此为规则,往下迭代,构建出回归树
对于不可量化的x来说:
x无法去均值。直接以特征属性割分,再计算两个区域的均值,再寻找误差平方和最小的切割点
举个栗子:


CART回归树的构建:


优点:
易于解释
处理类别特征,其他的技术往往要求数据属性的单一
延展到多分类
不需要特征放缩
能捕获非线性关系和特征间的交互关系
缺点:
寻找最优的决策树是一 个NP-hard的问题,只能通过启发式方法求次优解
决策树会因为样本发生- -点点的改动,就会导致树结构的剧烈改变
如果某些离散特征的特征值种类多,生成决策树容易偏向于这些特征ID3
有些比较复杂的关系,决策树很难学习,比如异或
CART分类决策树算法:
纯度:当样本点均来自同一类别时不纯度为0,当两个样本点属于不同类别时的不纯度为两个类别的概率相乘
多类别时:
来自于1类别的概率+来自于2类别的概率+来自于3类别的概率

不纯度就是基尼系数,以基尼系数最小的一项为第一个切分点,基尼系数计算如下



cart分类树也是一个二叉树




总结
KD-tree目前接触到的是无监督的
ID3、C4.5和CART算法均只适合在小规模数据集上使用
ID3、 C4.5和CART算法都是单变量决策树
决策树分类- 般情况只适合小数据量的情况(数据可以放内存
CART算法是三种算法中最常用的一种决策树构建算法(sklearn中仅支持CART)。
三种算法的区别仅仅只是对于当前树的评价标准不同而已,ID3使用信息增益、
C4.5使用信息增益率、CART使用基尼系数。 (不是主要区别)
CART算法构建的一定是二 叉树,ID3和C4.5构建的不一 定是二 叉树。(主要区别)

C4.5在我们学习使用的sklearn上没有,所以我们是忽略掉了
机器学习算法概述第五章——CART算法的更多相关文章
- 为什么我要放弃javaScript数据结构与算法(第五章)—— 链表
这一章你将会学会如何实现和使用链表这种动态的数据结构,这意味着我们可以从中任意添加或移除项,它会按需进行扩张. 本章内容 链表数据结构 向链表添加元素 从链表移除元素 使用 LinkedList 类 ...
- 《算法》第五章部分程序 part 3
▶ 书中第五章部分程序,包括在加上自己补充的代码,字符串高位优先排序(美国国旗排序) ● 美国国旗排序 package package01; import edu.princeton.cs.algs4 ...
- 《算法》第五章部分程序 part 8
▶ 书中第五章部分程序,包括在加上自己补充的代码,适用于基因序列的 2-Bit 压缩算法,行程长压缩算法,Huffman 压缩算法,LZW 压缩算法 ● 适用于基因序列的 2-Bit 压缩算法 pac ...
- 《算法》第五章部分程序 part 7
▶ 书中第五章部分程序,包括在加上自己补充的代码,字符串的二进制表示.十六进制表示.图形表示 ● 二进制表示 package package01; import edu.princeton.cs.al ...
- 《算法》第五章部分程序 part 6
▶ 书中第五章部分程序,包括在加上自己补充的代码,非确定性有穷自动机(NFA),grep 命令(利用 NFA 匹配) ● 非确定性有穷自动机(NFA) package package01; impor ...
- 《算法》第五章部分程序 part 5
▶ 书中第五章部分程序,包括在加上自己补充的代码,Knuth-Morris-Pratt 无回溯匹配,Boyer - Moore 无回溯匹配,Rabin - Karp 指纹匹配 ● Knuth-Morr ...
- 《算法》第五章部分程序 part 4
▶ 书中第五章部分程序,包括在加上自己补充的代码,Trie 树类,Trie 集合,三值搜索树(Ternary Search Trie) ● Trie 树类 package package01; imp ...
- 《算法》第五章部分程序 part 2
▶ 书中第五章部分程序,包括在加上自己补充的代码,字符串高位优先排序(计数 + 插排),(原地排序),(三路快排,与前面的三路归并排序相同) ● 计数 + 插排 package package01; ...
- 《算法》第五章部分程序 part 1
▶ 书中第五章部分程序,包括在加上自己补充的代码,字母表类,字符串低位优先排序(桶排) ● 字母表类 package package01; import edu.princeton.cs.algs4. ...
随机推荐
- HashSet的运用
TestHashSet.java package com.sxt.set1; /* * Set接口 唯一:元素唯一(不重复) * 无序:不是按照添加的顺序显示数据 * 采用哈希表的方式存储 * 根据哈 ...
- Xcode编译报错:< Apple Mach-O Linker Warning > clang: error: no such file or directory: 'xxxx'
Xcode编译报错概述: clang: error: no such file or directory: 'CoreGraphics' 一般原因是链接库内容导入丢失,这种的排查下target - B ...
- @codeforces - 1214G@ Feeling Good
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个 n*m 的 01 矩阵 A,一开始所有格子都为 0. ...
- 60.0.1(64位)windows版 uploadify使用有问题
http://mozilla.com.cn/thread-403024-1-1.html 60.0.1(64位)版,在使用uploadify插件,上传附件时,上传没有问题,可以成功,但执行上传成功后的 ...
- etcd 在超大规模数据场景下的性能优化
作者 | 阿里云智能事业部高级开发工程师 陈星宇(宇慕) 概述 etcd是一个开源的分布式的kv存储系统, 最近刚被cncf列为沙箱孵化项目.etcd的应用场景很广,很多地方都用到了它,例如kuber ...
- Top 10 Free IT Certification Training Resources
1. Cybrary Cybrary takes the open source concept and applies it to IT training. Many of the courses ...
- oracle函数 ceil(x)
[功能]返回大于等于x的最小整数值 [参数]x,数字型表达式 [返回]数字 [示例] select ceil(3.1),ceil(2.8+1.3),ceil(0) from dual; 返回4,5,0
- @codechef - SERSUM@ Series Sum
目录 @description@ @solution@ @part - 1@ @part - 2@ @part - 3@ @accepted code@ @details@ @description@ ...
- iPython的安装过程
http://blog.csdn.net/u012587561/article/details/50900781 python2.7.10 amd64 win10 x64 1. 安装setuptool ...
- H3C 广域网的作用