Я тестировал программирование дерева решений с помощью R и решил использовать набор данных автомобиля из UCI, доступный здесь .
По мнению авторов, оно имеет 7 атрибутов:
CAR car acceptability
. PRICE overall price
. . buying buying price
. . maint price of the maintenance
. TECH technical characteristics
. . COMFORT comfort
. . . doors number of doors
. . . persons capacity in terms of persons to carry
. . . lug_boot the size of luggage boot
. . safety estimated safety of the car
поэтому я хочу использовать DT в качестве классификатора для определения приемлемости автомобиля с учетом покупной цены, качества, комфорта, дверей, персон, lug_boot и безопасности.
Сначала я извлек первый столбец как зависимую переменную, а затем заметил, что данные упорядочены по порядку; в зависимости от значения первого столбца (очень высокий, высокий, средний, низкий). По этой причине я решил перемешать данные. Мой код следующий:
car_data<-read.csv("car.data")
library(C50)
set.seed(12345)
car_data_rand<-car_data[order(runif(1727)),]
car_data<-car_data_rand
car_data_train<-car_data[1:1500,]
car_data_test<-car_data[1501:1727,]
answer<-data_train$vhigh
answer_test<-data_test$vhigh
#deleting the dependent variable or y from the data
car_data_train$vhigh<-NULL
car_data_test$vhigh<-NULL
car_model<-C5.0(car_data_train,answer)
summary(car_model)
Здесь я получаю ужасную ошибку:
Evaluation on training data (1500 cases):
Decision Tree
----------------
Size Errors
7 967(64.5%) <<
Что я делаю не так?