Machine Learning with Scikit-Learn and Tensorflow 6.4 CART算法

书籍信息
Hands-On Machine Learning with Scikit-Learn and Tensorflow
出版社: O’Reilly Media, Inc, USA
平装: 566页
语种: 英语
ISBN: 1491962291
条形码: 9781491962299
商品尺寸: 18 x 2.9 x 23.3 cm
ASIN: 1491962291

系列博文为书籍中文翻译
代码以及数据下载:https://github.com/ageron/handson-ml

scikit-learn使用CART(Classification And Regression Tree)算法进行决策树的训练。算法的基本思想是每次利用特征 k 和阈值 tk (例如petal length,2.45厘米)将当前训练数据的集合划分为两个子集。特征 k 和阈值 tk 的选择依据是最小化以下函数:
J(k,tk)=mleftmGleft+mrightmGright
其中 Gleft / Gright 是子集的基尼不纯度, mleft / mright 是子集的训练数据数量。

划分过程的停止时机是到达最大深度(由max_depth指定)或者不能找到基尼不纯度降低的划分。另外,还有部分参数可以指定停止时机,例如min_samples_split,min_samples_leaf,min_weight_fraction_leaf,max_leaf_nodes。

注释:
CART算法是贪心算法,能够得到优秀的解,不能保证得到最优解。

构造最优的决策树是NP完全问题,这样的解法即使是面对较小的训练集也是不实用的,所以我们需要的是得到优秀的解的方法。

你可能感兴趣的:(机器学习)