《Spark机器学习进阶实战》——3.2.4 决策树模型
3.2.4 决策树模型
决策树是一种基于树形结构的非线性分类模型,该模型易于解释,可以处理分类特征和数值特征,能拓展到多分类场景,无须对特征做归一化或者标准化,而且可以表达复杂的非线性模式和特征相互关系。正是由于有着诸多优点,使得决策树模型被广泛使用。
决策树通过树形结构对样本进行分类。图3-4所示就是一个决策树示例,根据用户情况来预测用户是否能够偿还贷款。可以明显看出决策树是一系列if-then规则的集合。对于新用户:无房产,单身,年收入35k,根据构建的决策树可以预测该用户无法偿还贷款。
图3-4 决策树示例
在训练时,在任意节点上需要选择最优的划分特征,接着根据划分特征的取值对训练数据进行切分,然后在得到的每个子数据集上进行递归建树过程,直至数据集中的数据均属于某一类别或者无合适的划分特征为止。停止递归的节点标注为叶子节点。这样就构造出了一棵决策树。在分类时,从根节点开始对样本的某一特征进行测试,根据测试结果将样本分配到子节点中,如此递归地对样本进行测试和分配,直至到达叶子节点。该样本的类别就是该叶子节点对应的类别。
其中特征选择步骤较为关键,该步骤负责选择对于训练数据具有最好区分类别能力的特征。Spark中针对分类模型提供的特征选择标准包括信息增益和基尼指数。针对回归模型提供的特征选择标准为方差,这里不做讨论。
信息增益表示给定特征f的情况下训练集类别Y的不确定性降低的量,其中类别的不确定性通常用信息熵进行刻画。特征f对训练数据集T的信息增益IG(T, f)即为训练集T的经验熵H(T)与给定特征f的条件下T的经验条件熵H(T | f)的差,形式化表示为:
IG(T,f ) = H(T)-H(T | f)
一般来说不同的特征具有不同的信息增益值,具有更大信息增益值的特征对类别的区分能力更强。
给定样本集合T,其基尼指数可以表示为:
其中,Ck表示T中属于第k个类别的样本子集,|Ck|表示Ck中样本个数,K是数据集T中类别的数目。
- 点赞
- 收藏
- 关注作者
评论(0)