Мой код:
rm(list = ls(all.names = TRUE)) #will clear all objects includes hidden objects.
library(mlbench)
library(randomForestSRC)
data(Sonar)
t=c()
data_num=c(100,1150)
#core_list=c(1,4,8)
num_trees = c(50, 500)
#p=ncol(trainDF)
features_per_tree = c(1, 6, 10)
depths = c(2, 3, 8)
for(d in 1:length(depths))
for(k in 1:length(num_trees)){
for(l in 1:length(features_per_tree)){
for(i in 1:length(data_num)){
a=system.time(model.wsrf <- rfsrc(Class ~ ., data=Sonar[1:data_num[i],],ntree=num_trees[k],mtry=features_per_tree[l],nodesize=d))
t=append(t,a[2])
}
}
}
}
print(t)
print(model.wsrf)
df=as.data.frame(cbind(data_num,num_trees,features_per_tree,depths,t))
df
ggplot(df, aes(x=data_num, y=t)) + geom_point()
Вывод:
data_num num_trees features_per_tree depths t
sys.self 100 50 1 2 0.00
sys.self.1 1150 500 6 3 0.03
sys.self.2 100 50 10 8 0.01
sys.self.3 1150 500 1 2 0.02
sys.self.4 100 50 6 3 0.01
sys.self.5 1150 500 10 8 0.00
sys.self.6 100 50 1 2 0.15
sys.self.7 1150 500 6 3 0.14
sys.self.8 100 50 10 8 0.03
sys.self.9 1150 500 1 2 0.14
sys.self.10 100 50 6 3 0.09
sys.self.11 1150 500 10 8 0.16
sys.self.12 100 50 1 2 0.01
sys.self.13 1150 500 6 3 0.03
sys.self.14 100 50 10 8 0.02
sys.self.15 1150 500 1 2 0.02
sys.self.16 100 50 6 3 0.01
sys.self.17 1150 500 10 8 0.00
sys.self.18 100 50 1 2 0.10
sys.self.19 1150 500 6 3 0.18
sys.self.20 100 50 10 8 0.13
sys.self.21 1150 500 1 2 0.15
sys.self.22 100 50 6 3 0.11
sys.self.23 1150 500 10 8 0.13
sys.self.24 100 50 1 2 0.00
sys.self.25 1150 500 6 3 0.01
sys.self.26 100 50 10 8 0.02
sys.self.27 1150 500 1 2 0.02
sys.self.28 100 50 6 3 0.00
sys.self.29 1150 500 10 8 0.00
sys.self.30 100 50 1 2 0.10
sys.self.31 1150 500 6 3 0.11
sys.self.32 100 50 10 8 0.16
sys.self.33 1150 500 1 2 0.33
sys.self.34 100 50 6 3 0.09
sys.self.35 1150 500 10 8 0.13
Я хотел рассчитать время вычислений для различных значений размера выборки, глубины, количества деревьев, количества объектов каждый разбить вместе с соответствующими ошибками и записать их в файл CSV. Я думаю, мой результат не точен. Я видел несколько повторений. Кроме того, я не мог не добавить ошибку OBB в мою таблицу выше. Мне было интересно, если вы могли бы дать некоторые предложения по улучшению моего кода. Спасибо за ваше время!