我目前正在学习“编程集体智能”一书的第 7 章(“使用决策树建模”)。
我发现函数mdclassify()p.157 的输出令人困惑。该函数处理丢失的数据。提供的解释是:
在基本决策树中,所有事物的隐含权重为 1,这意味着观察完全取决于项目适合某个类别的概率。如果您要跟踪多个分支,则可以为每个分支赋予一个权重,该权重等于该侧所有其他行的分数。
据我了解,然后在分支之间拆分一个实例。
因此,我根本不明白我们如何获得:
{'None': 0.125, 'Premium': 2.25, 'Basic': 0.125}
as0.125+0.125+2.25总和不等于 1,甚至不等于整数。新的观察是如何分裂的?
代码在这里:
https://github.com/arthur-e/Programming-Collective-Intelligence/blob/master/chapter7/treepredict.py
使用原始数据集,我获得了此处显示的树:
谁能准确解释一下这些数字的确切含义以及它们是如何获得的?
PS:本书的第一个例子是错误的,正如他们的勘误页所描述的那样,但仅仅解释第二个例子(上面提到的)会很好。
