# write.csv(rlf_airfoil_time,'rlf_airfoil_time.csv')
#clean up memory
rm(list=ls())
gc()
redwine<-  read.arff("redwine.arff")
set.seed(42)
df<-redwine[sample(nrow(redwine)),] #remove cooling load
folds <- createFolds(df$quality, k = 10,list = FALSE)
mse_rf <- c()
mse_rlf <- c()
time_rf <- c()
time_rlf <- c()
time_gbm <- c()
time_xgb <- c()
mse_gbm <- c()
mse_xgb <- c()
for(i in 1:10){
testIndexes <- which(folds==i,arr.ind=TRUE)
xtest<- df[testIndexes, -12]
#xtest<- xtest[,-2]
ytest <- df[testIndexes,12]
xtrain <- df[-testIndexes, -12]
#xtrain <- xtrain[,-2]
ytrain <- df[-testIndexes,12]
start.time_rlf <- Sys.time()
rlf <- RLForest(ytrain~.,data=xtrain,ntree=100,ntreesub=10,replace=FALSE,Lp=0.8,nodesize =1)
pred <- predict(rlf,newdata = xtest)
end.time_rlf <- Sys.time()
mse_rlf[i] <- mean((pred-ytest)^2)
time.taken_rlf <-difftime(end.time_rlf, start.time_rlf, units = "secs")[[1]]
print(mse_rlf[i])
time_rlf[i] <-  time.taken_rlf
rm(rlf)
start.time_rf <- Sys.time()
rf <- randomForest(ytrain~.,data=xtrain,ntree=100,nodesize =1)
pred <- predict(rf,newdata = xtest)
mse_rf[i]<- mean((pred-ytest)^2)
end.time_rf <- Sys.time()
print(mse_rf[i])
time.taken_rf <- difftime(end.time_rf, start.time_rf, units = "secs")[[1]]
time_rf[i] <- time.taken_rf
rm(rf)
rm(xtest)
rm(ytest)
rm(xtrain)
rm(ytrain)
rm(pred)
gc()
}
cat('\nMSE of RF:',mean(mse_rf))
cat('\nMSE of RLF:',mean(mse_rlf))
cat('\n margin of error of RF:',qt(0.975,9)* sd(mse_rf)/sqrt(10)  )
cat('\n margin of error LF:',qt(0.975,9)* sd(mse_rlf)/sqrt(10) )
cat('\n RF running time:',mean(time_rf))
cat('\n RLF running time:',mean(time_rlf))
cat('\n margin of error of RF running time:',qt(0.975,9)* sd(time_rf)/sqrt(10)  )
cat('\n margin of error RLF running time:',qt(0.975,9)* sd(time_rlf)/sqrt(10) )
#
# rlf_redwine_time <- data.frame(lf=time_rlf,rf=time_rf)
# write.csv(rlf_redwine_time,'rlf_redwine_time.csv')
#
#clean up memory
rm(list=ls())
gc()
auction<-  read.arff("auction.arff")
set.seed(42)
df<-auction[sample(nrow(auction)),-8] #remove cooling load
folds <- createFolds(df$verification.time, k = 10,list = FALSE)
mse_rf <- c()
mse_rlf <- c()
time_rf <- c()
time_rlf <- c()
for(i in 1:10){
testIndexes <- which(folds==i,arr.ind=TRUE)
xtest<- df[testIndexes, -8]
#xtest<- xtest[,-2]
ytest <- df[testIndexes,8]
xtrain <- df[-testIndexes, -8]
#xtrain <- xtrain[,-2]
ytrain <- df[-testIndexes,8]
start.time_rlf <- Sys.time()
rlf <- RLForest(ytrain~.,data=xtrain,ntree=100,ntreesub=10,replace=FALSE,Lp=0.8,nodesize =1)
pred <- predict(rlf,newdata = xtest)
end.time_rlf <- Sys.time()
mse_rlf[i] <- mean((pred-ytest)^2)
time.taken_rlf <-difftime(end.time_rlf, start.time_rlf, units = "secs")[[1]]
print(mse_rlf[i])
time_rlf[i] <-  time.taken_rlf
rm(rlf)
start.time_rf <- Sys.time()
rf <- randomForest(ytrain~.,data=xtrain,ntree=100,nodesize =1)
pred <- predict(rf,newdata = xtest)
mse_rf[i]<- mean((pred-ytest)^2)
end.time_rf <- Sys.time()
print(mse_rf[i])
time.taken_rf <- difftime(end.time_rf, start.time_rf, units = "secs")[[1]]
time_rf[i] <- time.taken_rf
rm(rf)
rm(xtest)
rm(ytest)
rm(xtrain)
rm(ytrain)
rm(pred)
gc()
}
cat('\nMSE of RF:',mean(mse_rf))
cat('\nMSE of RLF:',mean(mse_rlf))
cat('\n margin of error of RF:',qt(0.975,9)* sd(mse_rf)/sqrt(10)  )
cat('\n margin of error LF:',qt(0.975,9)* sd(mse_rlf)/sqrt(10) )
cat('\n RF running time:',mean(time_rf))
cat('\n RLF running time:',mean(time_rlf))
cat('\n margin of error of RF running time:',qt(0.975,9)* sd(time_rf)/sqrt(10)  )
cat('\n margin of error RLF running time:',qt(0.975,9)* sd(time_rlf)/sqrt(10) )
# rlf_auction_time <- data.frame(lf=time_rlf,rf=time_rf)
# write.csv(rlf_auction_time,'rlf_auction_time.csv')
#clean up memory
rm(list=ls())
gc()
space_ga<-  read.arff("space_ga.arff")
set.seed(42)
df<-space_ga[sample(nrow(space_ga)),] #remove cooling load
folds <- createFolds(df$ln_votes_pop, k = 10,list = FALSE)
mse_rf <- c()
mse_rlf <- c()
time_rf <- c()
time_rlf <- c()
for(i in 1:10){
testIndexes <- which(folds==i,arr.ind=TRUE)
xtest<- df[testIndexes, -1]
#xtest<- xtest[,-2]
ytest <- df[testIndexes,1]
xtrain <- df[-testIndexes, -1]
#xtrain <- xtrain[,-2]
ytrain <- df[-testIndexes,1]
start.time_rlf <- Sys.time()
rlf <- RLForest(ytrain~.,data=xtrain,ntree=100,ntreesub=10,replace=FALSE,Lp=0.8,nodesize =1)
pred <- predict(rlf,newdata = xtest)
end.time_rlf <- Sys.time()
mse_rlf[i] <- mean((pred-ytest)^2)
time.taken_rlf <-difftime(end.time_rlf, start.time_rlf, units = "secs")[[1]]
print(mse_rlf[i])
time_rlf[i] <-  time.taken_rlf
rm(rlf)
start.time_rf <- Sys.time()
rf <- randomForest(ytrain~.,data=xtrain,ntree=100,nodesize =1)
pred <- predict(rf,newdata = xtest)
mse_rf[i]<- mean((pred-ytest)^2)
end.time_rf <- Sys.time()
print(mse_rf[i])
time.taken_rf <- difftime(end.time_rf, start.time_rf, units = "secs")[[1]]
time_rf[i] <- time.taken_rf
rm(rf)
rm(xtest)
rm(ytest)
rm(xtrain)
rm(ytrain)
rm(pred)
gc()
}
cat('\nMSE of RF:',mean(mse_rf))
cat('\nMSE of RLF:',mean(mse_rlf))
cat('\n margin of error of RF:',qt(0.975,9)* sd(mse_rf)/sqrt(10)  )
cat('\n margin of error LF:',qt(0.975,9)* sd(mse_rlf)/sqrt(10) )
cat('\n RF running time:',mean(time_rf))
cat('\n RLF running time:',mean(time_rlf))
cat('\n margin of error of RF running time:',qt(0.975,9)* sd(time_rf)/sqrt(10)  )
cat('\n margin of error RLF running time:',qt(0.975,9)* sd(time_rlf)/sqrt(10) )
#
# rlf_space_time <- data.frame(lf=time_rlf,rf=time_rf)
# write.csv(rlf_space_time,'rlf_space_time.csv')
#clean up memory
rm(list=ls())
gc()
whitewine<-  read.arff("whitewine.arff")
set.seed(42)
df<-whitewine[sample(nrow(whitewine)),]
folds <- createFolds(df$quality, k = 10,list = FALSE)
mse_rf <- c()
mse_rlf <- c()
time_rf <- c()
time_rlf <- c()
for(i in 1:10){
testIndexes <- which(folds==i,arr.ind=TRUE)
xtest<- df[testIndexes, -12]
#xtest<- xtest[,-2]
ytest <- df[testIndexes,12]
xtrain <- df[-testIndexes, -12]
#xtrain <- xtrain[,-2]
ytrain <- df[-testIndexes,12]
start.time_rlf <- Sys.time()
rlf <- RLForest(ytrain~.,data=xtrain,ntree=100,ntreesub=10,replace=FALSE,Lp=0.8,nodesize =1)
pred <- predict(rlf,newdata = xtest)
end.time_rlf <- Sys.time()
mse_rlf[i] <- mean((pred-ytest)^2)
time.taken_rlf <-difftime(end.time_rlf, start.time_rlf, units = "secs")[[1]]
print(mse_rlf[i])
time_rlf[i] <-  time.taken_rlf
rm(rlf)
start.time_rf <- Sys.time()
rf <- randomForest(ytrain~.,data=xtrain,ntree=100,nodesize =1)
pred <- predict(rf,newdata = xtest)
mse_rf[i]<- mean((pred-ytest)^2)
end.time_rf <- Sys.time()
print(mse_rf[i])
time.taken_rf <- difftime(end.time_rf, start.time_rf, units = "secs")[[1]]
time_rf[i] <- time.taken_rf
rm(rf)
rm(xtest)
rm(ytest)
rm(xtrain)
rm(ytrain)
rm(pred)
gc()
}
cat('\nMSE of RF:',mean(mse_rf))
cat('\nMSE of RLF:',mean(mse_rlf))
cat('\n margin of error of RF:',qt(0.975,9)* sd(mse_rf)/sqrt(10)  )
cat('\n margin of error LF:',qt(0.975,9)* sd(mse_rlf)/sqrt(10) )
cat('\n RF running time:',mean(time_rf))
cat('\n RLF running time:',mean(time_rlf))
cat('\n margin of error of RF running time:',qt(0.975,9)* sd(time_rf)/sqrt(10)  )
cat('\n margin of error RLF running time:',qt(0.975,9)* sd(time_rlf)/sqrt(10) )
#
#
# rlf_white_time <- data.frame(lf=time_rlf,rf=time_rf)
# write.csv(rlf_white_time,'rlf_white_time.csv')
#clean up memory
rm(list=ls())
gc()
cpu<-  read.arff("cpu.arff")
set.seed(42)
df<-cpu[sample(nrow(cpu)),]
folds <- createFolds(df$usr, k = 10,list = FALSE)
mse_rf <- c()
mse_rlf <- c()
time_rf <- c()
time_rlf <- c()
for(i in 1:10){
testIndexes <- which(folds==i,arr.ind=TRUE)
xtest<- df[testIndexes, -22]
#xtest<- xtest[,-2]
ytest <- df[testIndexes,22]
xtrain <- df[-testIndexes, -22]
#xtrain <- xtrain[,-2]
ytrain <- df[-testIndexes,22]
start.time_rlf <- Sys.time()
rlf <- RLForest(ytrain~.,data=xtrain,ntree=100,ntreesub=10,replace=FALSE,Lp=0.8,nodesize =1)
pred <- predict(rlf,newdata = xtest)
end.time_rlf <- Sys.time()
mse_rlf[i] <- mean((pred-ytest)^2)
time.taken_rlf <-difftime(end.time_rlf, start.time_rlf, units = "secs")[[1]]
print(mse_rlf[i])
time_rlf[i] <-  time.taken_rlf
rm(rlf)
start.time_rf <- Sys.time()
rf <- randomForest(ytrain~.,data=xtrain,ntree=100,nodesize =1)
pred <- predict(rf,newdata = xtest)
mse_rf[i]<- mean((pred-ytest)^2)
end.time_rf <- Sys.time()
print(mse_rf[i])
time.taken_rf <- difftime(end.time_rf, start.time_rf, units = "secs")[[1]]
time_rf[i] <- time.taken_rf
rm(rf)
rm(xtest)
rm(ytest)
rm(xtrain)
rm(ytrain)
rm(pred)
gc()
}
cat('\nMSE of RF:',mean(mse_rf))
cat('\nMSE of RLF:',mean(mse_rlf))
cat('\n margin of error of RF:',qt(0.975,9)* sd(mse_rf)/sqrt(10)  )
cat('\n margin of error LF:',qt(0.975,9)* sd(mse_rlf)/sqrt(10) )
cat('\n RF running time:',mean(time_rf))
cat('\n RLF running time:',mean(time_rlf))
cat('\n margin of error of RF running time:',qt(0.975,9)* sd(time_rf)/sqrt(10)  )
cat('\n margin of error RLF running time:',qt(0.975,9)* sd(time_rlf)/sqrt(10) )
# rlf_cpu_time <- data.frame(lf=time_rlf,rf=time_rf)
# write.csv(rlf_cpu_time,'rlf_cpu_time.csv')
#clean up memory
rm(list=ls())
gc()
pumadyn<-  read.arff("pumadyn.arff")
set.seed(42)
df<-pumadyn[sample(nrow(pumadyn)),]
folds <- createFolds(df$thetadd6, k = 10,list = FALSE)
mse_rf <- c()
mse_rlf <- c()
time_rf <- c()
time_rlf <- c()
for(i in 1:10){
testIndexes <- which(folds==i,arr.ind=TRUE)
xtest<- df[testIndexes, -33]
#xtest<- xtest[,-2]
ytest <- df[testIndexes,33]
xtrain <- df[-testIndexes, -33]
#xtrain <- xtrain[,-2]
ytrain <- df[-testIndexes,33]
start.time_rlf <- Sys.time()
rlf <- RLForest(ytrain~.,data=xtrain,ntree=100,ntreesub=10,replace=FALSE,Lp=0.8,nodesize =1)
pred <- predict(rlf,newdata = xtest)
end.time_rlf <- Sys.time()
mse_rlf[i] <- mean((pred-ytest)^2)
time.taken_rlf <-difftime(end.time_rlf, start.time_rlf, units = "secs")[[1]]
print(mse_rlf[i])
time_rlf[i] <-  time.taken_rlf
rm(rlf)
start.time_rf <- Sys.time()
rf <- randomForest(ytrain~.,data=xtrain,ntree=100,nodesize =1)
pred <- predict(rf,newdata = xtest)
mse_rf[i]<- mean((pred-ytest)^2)
end.time_rf <- Sys.time()
print(mse_rf[i])
time.taken_rf <- difftime(end.time_rf, start.time_rf, units = "secs")[[1]]
time_rf[i] <- time.taken_rf
rm(rf)
rm(xtest)
rm(ytest)
rm(xtrain)
rm(ytrain)
rm(pred)
gc()
}
cat('\nMSE of RF:',mean(mse_rf))
cat('\nMSE of RLF:',mean(mse_rlf))
cat('\n margin of error of RF:',qt(0.975,9)* sd(mse_rf)/sqrt(10)  )
cat('\n margin of error LF:',qt(0.975,9)* sd(mse_rlf)/sqrt(10) )
cat('\n RF running time:',mean(time_rf))
cat('\n RLF running time:',mean(time_rlf))
cat('\n margin of error of RF running time:',qt(0.975,9)* sd(time_rf)/sqrt(10)  )
cat('\n margin of error RLF running time:',qt(0.975,9)* sd(time_rlf)/sqrt(10) )
# rlf_pumadyn_time <- data.frame(lf=time_rlf,rf=time_rf)
# write.csv(rlf_pumadyn_time,'rlf_pumadyn_time.csv')
#clean up memory
rm(list=ls())
gc()
grid<-  read.arff("grid.arff")
set.seed(42)
df<-grid[sample(nrow(grid)),-14] #remove stabf
folds <- createFolds(df$stab, k = 10,list = FALSE)
mse_rf <- c()
mse_rlf <- c()
time_rf <- c()
time_rlf <- c()
for(i in 1:10){
testIndexes <- which(folds==i,arr.ind=TRUE)
xtest<- df[testIndexes, -13]
#xtest<- xtest[,-2]
ytest <- df[testIndexes,13]
xtrain <- df[-testIndexes, -13]
#xtrain <- xtrain[,-2]
ytrain <- df[-testIndexes,13]
start.time_rlf <- Sys.time()
rlf <- RLForest(ytrain~.,data=xtrain,ntree=100,ntreesub=10,replace=FALSE,Lp=0.8,nodesize =1)
pred <- predict(rlf,newdata = xtest)
end.time_rlf <- Sys.time()
mse_rlf[i] <- mean((pred-ytest)^2)
time.taken_rlf <-difftime(end.time_rlf, start.time_rlf, units = "secs")[[1]]
print(mse_rlf[i])
time_rlf[i] <-  time.taken_rlf
rm(rlf)
start.time_rf <- Sys.time()
rf <- randomForest(ytrain~.,data=xtrain,ntree=100,nodesize =1)
pred <- predict(rf,newdata = xtest)
mse_rf[i]<- mean((pred-ytest)^2)
end.time_rf <- Sys.time()
print(mse_rf[i])
time.taken_rf <- difftime(end.time_rf, start.time_rf, units = "secs")[[1]]
time_rf[i] <- time.taken_rf
rm(rf)
rm(xtest)
rm(ytest)
rm(xtrain)
rm(ytrain)
rm(pred)
gc()
}
cat('\nMSE of RF:',mean(mse_rf))
cat('\nMSE of RLF:',mean(mse_rlf))
cat('\n margin of error of RF:',qt(0.975,9)* sd(mse_rf)/sqrt(10)  )
cat('\n margin of error LF:',qt(0.975,9)* sd(mse_rlf)/sqrt(10) )
cat('\n RF running time:',mean(time_rf))
cat('\n RLF running time:',mean(time_rlf))
cat('\n margin of error of RF running time:',qt(0.975,9)* sd(time_rf)/sqrt(10)  )
cat('\n margin of error RLF running time:',qt(0.975,9)* sd(time_rlf)/sqrt(10) )
rlf_grid_time <- data.frame(lf=time_rlf,rf=time_rf)
write.csv(rlf_grid_time,'rlf_grid_time.csv')
#clean up memory
rm(list=ls())
gc()
brazilianhousing<-  read.arff("brazilianhousing.arff")
set.seed(42)
df<-brazilianhousing[sample(nrow(brazilianhousing)),]
df$total <- log(df$total)
folds <- createFolds(df$total, k = 10,list = FALSE)
mse_rf <- c()
mse_rlf <- c()
time_rf <- c()
time_rlf <- c()
for(i in 1:10){
testIndexes <- which(folds==i,arr.ind=TRUE)
xtest<- df[testIndexes, -13]
#xtest<- xtest[,-2]
ytest <- df[testIndexes,13]
xtrain <- df[-testIndexes, -13]
#xtrain <- xtrain[,-2]
ytrain <- df[-testIndexes,13]
start.time_rlf <- Sys.time()
rlf <- RLForest(ytrain~.,data=xtrain,ntree=100,ntreesub=10,replace=FALSE,Lp=0.8,nodesize =1)
pred <- predict(rlf,newdata = xtest)
end.time_rlf <- Sys.time()
mse_rlf[i] <- mean((pred-ytest)^2)
time.taken_rlf <-difftime(end.time_rlf, start.time_rlf, units = "secs")[[1]]
print(mse_rlf[i])
time_rlf[i] <-  time.taken_rlf
rm(rlf)
start.time_rf <- Sys.time()
rf <- randomForest(ytrain~.,data=xtrain,ntree=100,nodesize =1)
pred <- predict(rf,newdata = xtest)
mse_rf[i]<- mean((pred-ytest)^2)
end.time_rf <- Sys.time()
print(mse_rf[i])
time.taken_rf <- difftime(end.time_rf, start.time_rf, units = "secs")[[1]]
time_rf[i] <- time.taken_rf
rm(rf)
rm(xtest)
rm(ytest)
rm(xtrain)
rm(ytrain)
rm(pred)
gc()
}
cat('\nMSE of RF:',mean(mse_rf))
cat('\nMSE of RLF:',mean(mse_rlf))
cat('\n margin of error of RF:',qt(0.975,9)* sd(mse_rf)/sqrt(10)  )
cat('\n margin of error LF:',qt(0.975,9)* sd(mse_rlf)/sqrt(10) )
cat('\n RF running time:',mean(time_rf))
cat('\n RLF running time:',mean(time_rlf))
cat('\n margin of error of RF running time:',qt(0.975,9)* sd(time_rf)/sqrt(10)  )
cat('\n margin of error RLF running time:',qt(0.975,9)* sd(time_rlf)/sqrt(10) )
#
# rlf_brazilianhousing_time <- data.frame(lf=time_rlf,rf=time_rf)
# write.csv(rlf_brazilianhousing_time,'rlf_brazilianhousing_time.csv')
#
#clean up memory
rm(list=ls())
gc()
miamihousing<-  read.arff("miamihousing.arff")
set.seed(42)
df<-miamihousing[sample(nrow(miamihousing)),]
df$SALE_PRC <- log(df$SALE_PRC)
folds <- createFolds(df$SALE_PRC, k = 10,list = FALSE)
mse_rf <- c()
mse_rlf <- c()
time_rf <- c()
time_rlf <- c()
for(i in 1:10){
testIndexes <- which(folds==i,arr.ind=TRUE)
xtest<- df[testIndexes, -4]
#xtest<- xtest[,-2]
ytest <- df[testIndexes,4]
xtrain <- df[-testIndexes, -4]
#xtrain <- xtrain[,-2]
ytrain <- df[-testIndexes,4]
start.time_rlf <- Sys.time()
rlf <- RLForest(ytrain~.,data=xtrain,ntree=100,ntreesub=10,replace=FALSE,Lp=0.8,nodesize =1)
pred <- predict(rlf,newdata = xtest)
end.time_rlf <- Sys.time()
mse_rlf[i] <- mean((pred-ytest)^2)
time.taken_rlf <-difftime(end.time_rlf, start.time_rlf, units = "secs")[[1]]
print(mse_rlf[i])
time_rlf[i] <-  time.taken_rlf
rm(rlf)
start.time_rf <- Sys.time()
rf <- randomForest(ytrain~.,data=xtrain,ntree=100,nodesize =1)
pred <- predict(rf,newdata = xtest)
mse_rf[i]<- mean((pred-ytest)^2)
end.time_rf <- Sys.time()
print(mse_rf[i])
time.taken_rf <- difftime(end.time_rf, start.time_rf, units = "secs")[[1]]
time_rf[i] <- time.taken_rf
rm(rf)
rm(xtest)
rm(ytest)
rm(xtrain)
rm(ytrain)
rm(pred)
gc()
}
cat('\nMSE of RF:',mean(mse_rf))
cat('\nMSE of RLF:',mean(mse_rlf))
cat('\n margin of error of RF:',qt(0.975,9)* sd(mse_rf)/sqrt(10)  )
cat('\n margin of error LF:',qt(0.975,9)* sd(mse_rlf)/sqrt(10) )
cat('\n RF running time:',mean(time_rf))
cat('\n RLF running time:',mean(time_rlf))
cat('\n margin of error of RF running time:',qt(0.975,9)* sd(time_rf)/sqrt(10)  )
cat('\n margin of error RLF running time:',qt(0.975,9)* sd(time_rlf)/sqrt(10) )
#
# rlf_miamihousing_time <- data.frame(lf=time_rlf,rf=time_rf)
# write.csv(rlf_miamihousing_time,'rlf_miamihousing_time.csv')
mse <- data.frame(rlf=c(4271.02,1.74,0.66,4851917,0.75,22.39,432.66,240.57,0.74,6.24,0.32,4253840,0.013,4.63,0.35,5.49,0.017,0.00047,0.00011,0.0099,4.43e-07,0.020),
rf=c(4333.86,1.81,1.23,5311459,0.85,26.12,565.87,245.23,0.76,12.71,0.32,8929430,0.014,4.61,0.36,5.93,0.021,0.00051,0.00015,0.011,5.81e-07,0.022))
mean((mse$rlf-mse$rf)/mse$rf)
mse <- data.frame(rlf=c(4221.49,1.78,0.54,5194266,0.79,27.11,405.63,255.49,0.67,5.67,0.347,4192163,0.0137,4.66,0.398,5.67,0.019,0.00048,0.00011,0.0061,7.79e-07,0.021,0.578,89.67,0.056,0.279),
rf=c(4376.29,1.98,1.5,5622327,0.8,37.23,621.75,263.16,0.62,14.14,0.349,9878887,0.0143,4.63,0.403,6.15,0.024,0.00053,0.00016,0.0069,1.08e-06,0.023,0.581,91.80,0.062,0.27))
mean((mse$rlf-mse$rf)/mse$rf)
mse <- data.frame(rlf=c(4271.02,1.74,0.66,4851917,0.75,22.39,432.66,240.57,0.74,6.24,0.32,4253840,0.013,4.63,0.35,5.49,0.017,0.00047,0.00011,0.0099,4.43e-07,0.020),
rf=c(4333.86,1.81,1.23,5311459,0.85,26.12,565.87,245.23,0.76,12.71,0.32,8929430,0.014,4.61,0.36,5.93,0.021,0.00051,0.00015,0.011,5.81e-07,0.022))
mean((mse$rlf-mse$rf)/mse$rf)
(mse$rlf-mse$rf)/mse$rf
?predict
