Я использую набор данных kaggle для Великобритании по безопасности дорожного движения (https://www.kaggle.com/tsiaras/uk-road-safety-accidents-and-vehicles), чтобы создать дерево решений, чтобы помочь классифицировать случаи серьезности аварий как серьезные или нет.
Я преобразовал Accident_Severity в двоичный файлиспользуя Slight как 0 и Severe или Fatal как 1. После этого я преобразовал его в целое число. Я также ограничил данные только 2017
Я пытался создать дерево решений, используя rpart, но я постояннополучение 1 узла.
Я использовал
control=rpart.control(minsplit=2, cp=0.000015)
для получения некоторых результатов, но это привело к переобучению дерева. Я также решил исключить переменные, которые не имели большого смысла, такие как долгота /latitude / 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
Где я могуобрезать дерево, чтобы получить желаемый результат.И провести тесты точности на моем тестовом наборе.
Любая помощь очень ценится