美文网首页
Chapter - 6 Exercise(1- 6)

Chapter - 6 Exercise(1- 6)

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

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

    • 节点的基尼杂质通常低于其父节点。这是通过CART训练算法的成本函数来确保的,该算法将每个节点分开,以最小化其子节点Gini杂质的加权和。
    • 但是,如果一个孩子比另一个孩子小,它可能比其父节点具有更高的基尼杂质,只要这种增加超过其他孩子杂质的减少即可弥补。
      • 例如,考虑一个包含四个A类实例和一个B类实例的节点。它的Gini杂质是
        1 - \frac{1^2}{5} - \frac{4^2}{5} = 0.32
        现在假设数据集是一维的,实例按以下顺序排列:A,B,A,A,A。
        你可以验证算法是否会在第二个实例之后拆分此节点,生成一个具有实例A,B的子节点,以及另一个具有实例A,A,A的子节点。第一个子节点的Gini杂质是
        1 - \frac{1^2}{2} - \frac{1^2}{2} = 0.5 ,这比它的父节点要高。
        这可以通过另一个节点是纯的这一事实来补偿,因此整体加权的Gini杂质是
        \frac{2}{5}*0.5 - \frac{3}{5} *0= 0.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将大大减慢训练速度。

    相关文章

      网友评论

          本文标题:Chapter - 6 Exercise(1- 6)

          本文链接:https://www.haomeiwen.com/subject/zfpbzftx.html