From 588e865fb9e1e003fd43293e599c2710d084eb26 Mon Sep 17 00:00:00 2001 From: benjas <909336740@qq.com> Date: Tue, 29 Dec 2020 10:05:30 +0800 Subject: [PATCH] Add comment of Decision tree --- ...分析_建筑能源利用率预测.ipynb | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/3_模型解释与分析_建筑能源利用率预测.ipynb b/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/3_模型解释与分析_建筑能源利用率预测.ipynb index 1c05070..4ac33bf 100644 --- a/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/3_模型解释与分析_建筑能源利用率预测.ipynb +++ b/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/3_模型解释与分析_建筑能源利用率预测.ipynb @@ -74948,14 +74948,36 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "" + "" ] }, { - "cell_type": "code", - "execution_count": null, + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "把决策树看作是一系列“是/否”问题的最佳方式,如流程图。我们从顶部开始,叫做根,沿着树向下移动,移动方向由每个方程的答案决定。\n", + "\n", + "例如,这里我们问的第一个问题是:Site EUI是否小于或等于15.95?如果答案是肯定的,那么我们移到左边问一个问题:Weather Normalized Site是否小于或等于3.85?如果第一个问题的答案是否定的,我们移到右边问一个问题:Weather Normalized Site是否小于或等于26.85?\n", + "\n", + "我们继续这个迭代过程,直到到达树的底部并最终成为叶子节点。这里,我们预测的值对应于节点中显示的值。\n", + "\n", + "\n", + "每个节点有四条不同的信息:\n", + "\n", + "1. question:根据这个答案,我们将向右或向左移动到树的下一层的下一个节点\n", + "2. friedman_mse:给定节点中所有示例的错误度量\n", + "3. sample:节点中的示例数\n", + "3. value:节点中所有示例的目标预测\n", + "\n", + "我们可以看到,随着树的深度增加,我们将能够更好地拟合数据。对于一棵小树,每个叶子节点中会有许多sample,并且由于模型为节点中的每个sample估计相同的value,因此可能会有较大的误差(除非所有示例都具有相同的目标值)。但是建造太大的树会导致过拟合。我们可以控制多个超参数,这些参数决定树的深度和每个叶子中的sample数。在第二部分中,当我们使用交叉验证进行优化时,我们看到了如何选择这些超参数中的一些。\n", + "\n", + "虽然我们不能检查模型中的每一棵树,但只看一棵树确实能让我们了解我们的模型是如何做出预测的。事实上,这种基于流程图的方法看起来很像人类的决策方式,一次只回答一个关于单个值的问题。基于决策树的集成简单地采用单个决策树的思想,并结合多个个体的预测,以创建一个比单个估计器具有更小方差的模型。树木的组合往往是非常准确的,而且也是直观的解释!" + ] + }, + { + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [] } ],