【发布时间】:2011-10-20 04:52:15
【问题描述】:
我正在使用 classregtree(X,Y) 函数制作决策树。我将 X 作为大小为 70X9 的矩阵(70 个数据对象,每个对象有 9 个属性)传递,并将 Y 作为 70X1 矩阵传递。我的每个 Y 值都是 2 或 4。但是,在形成的决策树中,它为某些叶节点提供了 2.5 或 3.5 的值。
任何想法为什么会导致这种情况?
【问题讨论】:
-
另外,当我们讨论这个话题时,classregtree 如何处理缺失的属性?我的数据集中有一些属性缺失的对象,我不知道 matlab 使用哪种方法来处理这个问题。它会删除这些对象吗?对它们进行插值?使用代理拆分?
-
使用
NaN表示缺失值。 CLASSREGTREE 有一个选项surrogate来处理训练阶段的缺失值。只需参考相关函数的文档...您始终可以通过用均值/众数替换缺失值来预处理数据,或执行任何其他插补技术 -
在我的数据中,我将 NaN 用于缺失值。我没有向 classregtree 提供有关如何处理丢失数据的其他信息。那么 classregtree 处理 NaN 值的默认方法是什么?
标签: matlab machine-learning decision-tree