我尝试用C语言做一个简单的决策树。
数据有3列(包括目标数据)和14行。这是我的'慢跑'数据。目标变量是'分类'
WEATHER JOGGED_YESTERDAY CLASSIFICATION
C N +
W Y -
Y Y -
C Y -
Y N -
W Y -
C N -
W N +
C Y -
W Y +
W N +
C N +
Y N -
W Y -
或者作为dput
结果:
x一个一个一个一个x一个一个二个x
但是它没有做任何决策树。我认为它应该做2个节点(因为除了目标变量外有2列)。我想知道出了什么问题:(
1条答案
按热度按时间cngwdvgl1#
对于这个答案,我将使用一个不同的树构建包
partykit
,只是因为我更习惯它。这将打印以下树:
这是一个使用了多达三个级别的拆分但仍然找不到完美拟合的树。第一个拆分的p值为.2,表明即使是第一个拆分也没有足够的数据来证明其合理性。更不用说那些跟随它的人了。这是一棵很可能大量过度拟合数据的树,过度拟合是不好的。这就是为什么通常的树算法都有防止过拟合的措施,在您的情况下,这就禁止了树的生长。
简而言之:你没有足够的数据,一直预测
-
是分类树所能做的最合理的事情。