我正在使用有关英国道路安全(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
然后我可以在其中修剪树以获得所需的结果。并在我的测试仪上进行准确性测试。
非常感谢您的帮助