Преобразование набора данных в дискретный для оценки точности модели в R, почему as.factor не работает? - PullRequest
0 голосов
/ 28 октября 2018

Я использую следующий электричество набор данных.Данные включают в себя непрерывные значения.Я хотел бы использовать J48 и сравнить его с другими моделями, а также с фактическими значениями.Однако, даже если я использую as.factor, я получаю 0 точность.Вот мой код:

dat1 <- fread(.. electricity dataset...)

dat1$Date<-NULL
dat1$Time<-NULL
dat1$Voltage2<-as.factor (dat1$Voltage)
dat1$Voltage<-NULL

dat2<-dat1[1:5000,]
dat3<-dat1[1:2000,]

require (plyr)
require (partykit)
require (rpart)require (rJava)
install.packages("RWekajars")
require("RWeka")
j48.model<- J48(Voltage2~ ., data = dat2, control = Weka_control(M = 30, C = 0.05))
ACC=  mean ( predict(j48.model, dat3[,c(1:6)], type = "class") ==  dat3$Voltage2)

Как видно из следующей таблицы, значения близки и не идентичны, и, следовательно, точность равна 0. Как я могу это исправить?

> 
          Global_active_power Global_reactive_power Global_intensity Sub_metering_1 Sub_metering_2 Sub_metering_3    Voltage   J48  
   1: 0.322 0.114 1.4 0 0 0 239.86 241.48 242.21 244.39 239.94                                                      239.43  225.36     
   2: 0.320 0.114 1.4 0 0 0 239.95 241.48 242.21 243.46 239.94                                                      239.43  225.36    
   3: 0.320 0.114 1.4 0 0 0  239.9 241.48 242.21 243.46 239.94                                                      239.43  225.36     
   4: 0.318 0.116 1.4 0 0 0 240.15 241.77 242.21 243.46 239.94                                                      240.31  225.42     
   5: 0.318 0.116 1.4 0 0 0 240.42 241.77 242.21 243.46 239.94                                                      240.31  225.42     
  ---    
...