介绍
这篇文章试图合并有关树算法及其在Scikit-learn和Spark中的实现的信息。特别是,它是为了澄清如何计算特征重要性而编写的。
在线上有很多很棒的资源,讨论如何创建决策树和随机森林,而本帖子并非旨在如此。尽管它包括上下文的简短定义,但它假定读者已经掌握了这些概念,并希望了解如何在Scikit-learn和Spark中实现算法。
所以,让我们开始……
决策树
决策树学习如何最好地将数据集分成越来越小的子集来预测目标值。条件表示为“叶子”(节点),决策表示为“分支”(边缘)。拆分过程将继续进行,直到无法获得进一步的收益或满足预设规则为止,例如,达到树的最大深度。
决策树算法
有多种算法,scikit-learn文档提供了其中一些算法的概述。
那么,Scikit学习和Spark使用什么呢?
Scikit-learn文档指出它正在使用“ CART算法的优化版本”。尽管未在文档中明确提及,但可以推断Spark正在将ID3与CART一起使用。
因此,让我们集中讨论这两个ID3和CART。
ID3
该算法创建了一个多向树-每个节点可以具有两个或更多边缘-使用杂质准则熵找到可以最大化信息增益的分类特征。它不仅不能处理数字特征,而且仅适用于分类问题。
关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!