决策树算法实现
来源:互联网 发布:塑料电磁阀淘宝 编辑:程序博客网 时间:2024/05/22 07:45
决策树算法的优点:
1:理解和解释起来简单,且决策树模型可以想象
2:需要准备的数据量不大,而其他的技术往往需要很大的数据集,需要创建虚拟变量,去除不完整的数据,但是该算法对于丢失的数据不能进行准确的预测
3:决策树算法的时间复杂度(即预测数据)是用于训练决策树的数据点的对数
4:能够处理数字和数据的类别(需要做相应的转变),而其他算法分析的数据集往往是只有一种类型的变量
5:能够处理多输出的问题
6:使用白盒模型,如果给定的情况是在一个模型中观察到的,该条件的解释很容易解释的布尔逻辑,相比之下,在一个黑盒子模型(例如人工神经网络),结果可能更难以解释
7:可能使用统计检验来验证模型,这是为了验证模型的可靠性
8:从数据结果来看,它执行的效果很好,虽然它的假设有点违反真实模型
决策树算法的缺点:
1:决策树算法学习者可以创建复杂的树,但是没有推广依据,这就是所谓的过拟合,为了避免这种问题,出现了剪枝的概念,即设置一个叶子结点所需要的最小数目或者设置树的最大深度
2:决策树的结果可能是不稳定的,因为在数据中一个很小的变化可能导致生成一个完全不同的树,这个问题可以通过使用集成决策树来解决
3:众所周知,学习一恶搞最优决策树的问题是NP——得到几方面完全的优越性,甚至是一些简单的概念。因此,实际决策树学习算法是基于启发式算法,如贪婪算法,寻求在每个节点上的局部最优决策。这样的算法不能保证返回全局最优决策树。这可以减轻训练多棵树的合奏学习者,在那里的功能和样本随机抽样更换。
4:这里有一些概念是很难的理解的,因为决策树本身并不难很轻易的表达它们,比如说异或校验或复用的问题。
5:决策树学习者很可能在某些类占主导地位时创建有有偏异的树,因此建议用平衡的数据训练决策树
Classification 简单示例
>>> from sklearn import tree>>> X = [[0, 0], [1, 1]]>>> Y = [0, 1]>>> clf = tree.DecisionTreeClassifier()>>> clf = clf.fit(X, Y)
>>> clf.predict([[2., 2.]])array([1])
Regression 简单示例
>>> from sklearn import tree>>> X = [[0, 0], [2, 2]]>>> y = [0.5, 2.5]>>> clf = tree.DecisionTreeRegressor()>>> clf = clf.fit(X, y)>>> clf.predict([[1, 1]])array([ 0.5])
决策树算法使用 示例
使用命令导出图形为pdf:dot -T pdf ex.txt -o output.pdf.txt (windows cmd的命令)
- ID3 算法实现决策树
- 决策树算法的实现
- Python实现决策树算法
- 决策树算法实现
- 决策树 - 算法基本实现
- 决策树算法实现(一)
- 决策树算法实现(二)
- 决策树算法--python实现
- 决策树算法及实现
- 决策树算法实现
- python3实现决策树算法
- 决策树算法实现
- 决策树算法 python实现
- 决策树算法Java实现示例
- 决策树ID3算法C++实现
- 决策树算法实现(python)
- Python实现决策树_ID3算法
- python实现决策树ID3算法
- 2-1 Point类的定义
- 算法复杂度分析中的符号(Θ、Ο、ο、Ω、ω)简介
- 安装scipy失败提示lapack not found
- 直播app架构
- Java多线程(四):线程中断、线程让步、线程睡眠、线程合并
- 决策树算法实现
- 关于C++中的析构函数
- mysql安装问题
- POJ-3744 Scout YYF I [概率DP][矩阵快速幂]
- 微服务概述
- 【剑指offer】面试题39:二叉树的深度
- 对抗样本与对抗训练
- CString的TrimRight的使用误区
- 配置 L3 agent