决策树仅产生一个节点

时间:2019-04-06 08:34:11

标签: nodes decision-tree kaggle

我正在使用有关英国道路安全(https://www.kaggle.com/tsiaras/uk-road-safety-accidents-and-vehicles)的kaggle数据集 创建决策树,以帮助将事故严重性案例分类为严重与否。

我已通过将Slight设置为0并将Severe或Fatal设置为1将Accident_Severity转换为二进制,从而将其转换为整数。我也将数据限制为2017年

我尝试使用rpart创建决策树,但是我一直在获得1个节点。

我用过

control=rpart.control(minsplit=2, cp=0.000015)

产生一些结果,但是这导致了树的过度拟合。我还选择排除几乎没有意义的变量,例如经度/纬度/ Accident_Index ...

最终,我尝试了Junction_Control,Weather_Conditions,Speed_limit,Road_Surface_Conditions,Light_Conditions。但无济于事。

dtree <- rpart(Accident_Severity ~ ., data= acc.train, method="class", parms=list(split="gini"), control=rpart.control(minsplit=2, cp=0.000015))

acc.train包含上面列出的变量。

理想情况下,我希望能够产生一棵这样的树

          CP nsplit rel error    xerror       xstd
1 0.04424779      0 1.0000000 1.0000000 0.05623302
2 0.03539823      3 0.8407080 0.9203540 0.05479830
3 0.01991150      4 0.8053097 0.9115044 0.05462751
4 0.01327434      6 0.7654867 0.8982301 0.05436691
5 0.01032448     10 0.7123894 0.8893805 0.05419020
6 0.01000000     13 0.6814159 0.8893805 0.05419020

然后我可以在其中修剪树以获得所需的结果。并在我的测试仪上进行准确性测试。

非常感谢您的帮助

0 个答案:

没有答案