决策树

决策树

4.1.介绍

	定义:

		决策树:是一种树形结构,其中每个内部节点表示一个属性上的判断,

		每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果,

		本质是一颗由多个判断节点组成的树。

4.2决策树分类与案例

	1.熵

		物理学上,熵 Entropy 是“混乱”程度的量度。系统越有序,熵值越低;系统越混乱或者分散,熵值越高。



	2.信息熵

		1、从信息的完整性上进行的描述:

		当系统的有序状态一致时,**数据越集中的地方熵值越小,数据越分散的地方熵值越大。

		2、从信息的有序性上进行的描述:

		当数据量一致时,系统越有序,熵值越低;系统越混乱或者分散,熵值越高。

4.3决策树分类原理

	1.信息增益 = entroy(前) - entroy(后)

	注意:信息增益越大,我们优先选择这个属性进行计算

	信息增益优先选择属性,总类别比较多的进行划分

	2.信息增益率

维持一个分离信息,通过这个分离信息度量当分母,进行限制

	3.基尼增益

	基尼值:	

		从数据集D中随机抽取两个样板,其类别表计不一致的概率

		Gini(D)值越小,数据集D的纯度越高

	基尼指数:

		选择使划分后基尼系数最小的属性作为最优化分属性。

	基尼增益:

		选择基尼增益最大的点,进行优化划分

	基尼增益构造过程:		

		1.开始将所有记录看作一个节点

		2.遍历每个变量的每一种分割方式,找到最好的分割点

		3.分割成两个节点N1和N2

		4.对N1和N2分别继续执行2-3步,直到每个节点足够“纯”为止。

	决策树的变量可以有两种:

		1.数字型(Numeric):通过数据提取两个数字之间的值

		2.名称型(Nominal):通过对样本的属性类别进行划分

	如何评估分割点的好坏?

		主要分割的是否纯

	三种算法对比:

		ID3算法:

			采用信息增益作为评价标准

			只能对描述属性为离散属性的数据

			机构造决策树

			缺点是倾向与选择取值较多的属性

		C4.5算法:

			用信息增益率来选择属性

			可以处理连续数值型属性

			对于缺失值处理

		CART算法

			是c4.5不一定是二叉树,但CART一定是二叉树

			是信息增益的简化版

4.4CART剪枝

	1.剪枝原因:

		噪声、样本冲突,即错误的样本数据。

		特征即属性不能完全作为分类标准。

		巧合的规律性,数据量不够大。

	2.常用剪枝方法

		预剪枝:

			在构建树的过程中,同时剪枝

			eg:

			限制节点最小样本数

			指定数据的高度

			指定数值的最小值

		后剪枝:

			把一棵树构建完成后,从下往上

4.5特征工程—特征提取

1.特征提取

将任意数据(如文本或图像)转换为可用于机器学习的数字特征

2.特征提取分类:

- 字典特征提取(特征离散化)
- 文本特征提取
- 图像特征提取(深度学习将介绍)
  • 3.api

      sklearn.feature_extraction
    

4.字典特征提取

	就是对类型进行转换
	api:sklearn.feature_extraction import DictVectorizer
	aparse矩阵
	1.节省内存
	2.提高读取效率
	属性:
	DictVectorizer()
	sparse=False
	one-hot编码

5.文本特征提取(英文)

1.api
	sklearn.feature_extraction.text.CountVectorizer(stop_words=[])
		stop_words -- 停用词
		注意没有sparse这个参数
		单个字母标点符号不做标记

6.文本特征提取(中文)

	注意:
		在中文特征提取之前,需要对句子或文章进行分词(jieba)
		里边依然可以使用停用词,进行词语限制

7.tfidf

1.主要思想:如果某个词或短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。
2.tfidf
	tf -- 词频
	idf--逆向文档频率
3.api
	from sklearn.feature_extraction.text import TfidfVectorizer
	分类机器学习算法进行文章分类中前期数据处理方式

4.5决策树api

class sklearn.tree.DecisionTreeClassifier(criterion=’gini’, max_depth=None,random_state=None)
- criterion
- 特征选择标准
- min_samples_leaf
 - 叶子节点最少样本数
- max_depth
- 决策树最大深度
- random_state
- 随机数种子
- 

4.6流程分析

1.流程分析
1..获取数据
2.数据基本处理
	2.1 确定特征值,目标值
	2.2 缺失值处理
	2.3 数据集划分
3.特征工程(字典特征抽取)
4.机器学习(决策树)
5.模型评估

2.小结

- 优点:
		- 简单的理解和解释,树木可视化。
- 缺点:
	- 决策树学习者可以创建不能很好地推广数据的过于复杂的树,容易发生过拟合。
	- 改进:
	- 减枝cart算法
	- 随机森林(集成学习的一种)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值