书籍信息
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
利用决策树进行预测时需要从根结点前进到叶结点。考虑到决策树通常基本是平衡的,利用决策树进行预测需要遍历的结点数量是 O(log2m) 。因为每个结点值需要检查特定特征,所以利用决策树进行预测的时间复杂度是 O(log2m) ,与特征数量无关。所以决策树的预测非常迅速,即使是面对庞大的训练数据。
然而,决策树需要在每个结点比较所有样本的所有特征,导致决策树的训练复杂度是 O(nmlog2m) 。在训练数据集较小时,scikit-learn可以通过对数据进行预排序加速训练(设置presort=True),但是,对于庞大的训练数据集,这样的措施会降低训练的速度。
译者注:
这里的n感觉应该是特征数量。
这里的m感觉应该是样本数量。
CART生长时,把所有特征内的值都作为分裂候选,并为其计算评价指标(信息增益/基尼不纯度),所以每层是
O(n∗m)
,
log2m
层的树就是
O(nmlog2m)
。