特点:

  是一个二叉树,元素可以重复利用,可以做回归也可以做分类,分类用最小二乘法,即误差平方和最小

切割方法:

  对于可量化的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算法的更多相关文章

  1. 为什么我要放弃javaScript数据结构与算法(第五章)—— 链表

    这一章你将会学会如何实现和使用链表这种动态的数据结构,这意味着我们可以从中任意添加或移除项,它会按需进行扩张. 本章内容 链表数据结构 向链表添加元素 从链表移除元素 使用 LinkedList 类 ...

  2. 《算法》第五章部分程序 part 3

    ▶ 书中第五章部分程序,包括在加上自己补充的代码,字符串高位优先排序(美国国旗排序) ● 美国国旗排序 package package01; import edu.princeton.cs.algs4 ...

  3. 《算法》第五章部分程序 part 8

    ▶ 书中第五章部分程序,包括在加上自己补充的代码,适用于基因序列的 2-Bit 压缩算法,行程长压缩算法,Huffman 压缩算法,LZW 压缩算法 ● 适用于基因序列的 2-Bit 压缩算法 pac ...

  4. 《算法》第五章部分程序 part 7

    ▶ 书中第五章部分程序,包括在加上自己补充的代码,字符串的二进制表示.十六进制表示.图形表示 ● 二进制表示 package package01; import edu.princeton.cs.al ...

  5. 《算法》第五章部分程序 part 6

    ▶ 书中第五章部分程序,包括在加上自己补充的代码,非确定性有穷自动机(NFA),grep 命令(利用 NFA 匹配) ● 非确定性有穷自动机(NFA) package package01; impor ...

  6. 《算法》第五章部分程序 part 5

    ▶ 书中第五章部分程序,包括在加上自己补充的代码,Knuth-Morris-Pratt 无回溯匹配,Boyer - Moore 无回溯匹配,Rabin - Karp 指纹匹配 ● Knuth-Morr ...

  7. 《算法》第五章部分程序 part 4

    ▶ 书中第五章部分程序,包括在加上自己补充的代码,Trie 树类,Trie 集合,三值搜索树(Ternary Search Trie) ● Trie 树类 package package01; imp ...

  8. 《算法》第五章部分程序 part 2

    ▶ 书中第五章部分程序,包括在加上自己补充的代码,字符串高位优先排序(计数 + 插排),(原地排序),(三路快排,与前面的三路归并排序相同) ● 计数 + 插排 package package01; ...

  9. 《算法》第五章部分程序 part 1

    ▶ 书中第五章部分程序,包括在加上自己补充的代码,字母表类,字符串低位优先排序(桶排) ● 字母表类 package package01; import edu.princeton.cs.algs4. ...

随机推荐

  1. LeetCode103 Binary Tree Zigzag Level Order Traversal

    Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...

  2. 25-1 request模块介绍

    requests模块 - 基于如下5点展开requests模块的学习 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能 ...

  3. jQuery 无刷新评论

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 2019-8-31-dotnet-通过-WMI-拿到显卡信息

    title author date CreateTime categories dotnet 通过 WMI 拿到显卡信息 lindexi 2019-08-31 16:55:58 +0800 2019- ...

  5. VMware station 安装报错 failed to install the hcmon driver

    VMware station 安装报错 failed to install the hcmon driver 1.将 C:\Windows\System32\drivers 下的hcmon.sys改名 ...

  6. ubuntu 运行级别initlevel

    Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作.Ubuntu 的系统运行 ...

  7. SuperSocket主动从服务器端推送数据到客户端

    关键字: 主动推送, 推送数据, 客户端推送, 获取Session, 发送数据, 回话快照 通过Session对象发送数据到客户端   前面已经说过,AppSession 代表了一个逻辑的 socke ...

  8. Codeforces Round #168 (Div. 1 + Div. 2)

    A. Lights Out 模拟. B. Convex Shape 考虑每个黑色格子作为起点,拐弯次数为0的格子构成十字形,拐弯1次的则是从这些格子出发直走达到的点,显然需要遍历到所有黑色黑色格子. ...

  9. 洛谷P5022 旅行 题解 去环/搜索

    题目链接:https://www.luogu.org/problem/P5022 这道题目一开始看的时候没有思路,但是看到数据范围里面有一个: \(m = n-1\) 或 \(m = n\) ,一下子 ...

  10. 2018-8-10-VisualStudio-自定义外部命令

    title author date CreateTime categories VisualStudio 自定义外部命令 lindexi 2018-08-10 19:16:53 +0800 2018- ...