Chapter - 6 Exercise(1- 6)

2018-10-21  本文已影响0人  博士伦2014
  1. 受过训练的决策树在有100万个实例的训练集上的近似深度是多少(没有限制)?
    包含m个叶子的均衡二叉树的深度大概等于 log_2(m)^3 。二元决策树(只做二元决策的一个,就像Scikit-Learn中所有树的情况一样)在训练结束时会或多或少地变的平衡,如果训练没有限制,每个训练实例有一个叶子。
    因此,如果训练集包含一百万个实例,则决策树将具有 log_2(10^6)≈20 的深度(实际上更多一点,因为树通常不会很好地平衡)。

  2. 节点的基尼杂质是否通常低于或高于其父母体?它通常是更低/更高,或总是更低/更高?

  1. 如果决策树过度拟合训练集,尝试减少max_depth是一个好主意吗?
    如果决策树过拟合训练集,减少max_depth可能是个好主意,因为这会约束模型,使其正则化。

  2. 如果决策树不适合训练集, 尝试缩放输入特征是个好主意吗?
    决策树不关心训练数据是否按比例缩放或居中;这是关于他们的好事之一。因此,如果决策树欠拟合训练集,缩放输入特征只会浪费时间

  3. 如果在包含100万个实例的训练集上训练决策树需要一个小时,大约需要花多少时间在包含1000万个实例的训练集上训练另一个决策树?
    训练决策树的计算复杂度是O(n × m log(m)),因此,如果将训练集大小乘以10,则训练时间将乘以K = (n × 10m × log(10m)) / (n × m × log(m)) = 10 × log(10m) / log(m)
    如果m = 10^6,则K≈11.7,因此你可以预期训练时间大约为11.7小时。

  4. 如果您的训练集包含100,000个实例,则将设置presort = True 能加速训练吗?
    仅当数据集小于几千个实例时,预先训练训练集才能加速训练。 如果它包含100,000个实例,则设置presort = True将大大减慢训练速度。

上一篇下一篇

猜你喜欢

热点阅读