/
upsampling_smote.R
69 lines (59 loc) · 1.95 KB
/
upsampling_smote.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
args = commandArgs(trailingOnly=TRUE)
#install.packages("UBL")
library(MBA)
library(gstat)
library(sp)
library(automap)
library(randomForest)
library(UBL)
library(RcppCNPy)
library(lattice)
library(grid)
library(DMwR)
path_Xa <- paste(args[2], "Xa_train_run",args[1],".npy",sep = "", collapse = NULL)
path_ya <- paste(args[2], "ya_train_run",args[1],".npy",sep = "", collapse = NULL)
Xa <- npyLoad(path_Xa)
ya <- npyLoad(path_ya)
Xa_ya <- cbind ( ya , Xa )
Xa_ya_frame <- as.data.frame(Xa_ya)
rel <- matrix(0, ncol = 2, nrow = 0)
rel <- rbind(rel, c(0.1, 0.5))
rel <- rbind(rel, c(0.6, 0.2))
rel <- rbind(rel, c(1, 0.2))
out_Xa_ya_frame <- SmoteRegress(ya~., Xa_ya_frame, dist="Euclidean",rel=rel,C.perc=list(0.5,2.5),k=5)
for(i in 1:8){
if(i==1 || i==2){
rel <- matrix(0, ncol = 2, nrow = 0)
rel <- rbind(rel, c(0.1, 0.7))
rel <- rbind(rel, c(0.6, 0.5))
rel <- rbind(rel, c(1, 0.1))
}
else if(i==3 || i==4){
rel <- matrix(0, ncol = 2, nrow = 0)
rel <- rbind(rel, c(0.1, 0.9))
rel <- rbind(rel, c(0.6, 0.5))
rel <- rbind(rel, c(1, 0.3))
}
else if(i==5 || i==6){
rel <- matrix(0, ncol = 2, nrow = 0)
rel <- rbind(rel, c(0.1, 0.1))
rel <- rbind(rel, c(0.6, 0.7))
rel <- rbind(rel, c(1, 0.9))
}
else if(i==7 || i==8){
rel <- matrix(0, ncol = 2, nrow = 0)
rel <- rbind(rel, c(0.1, 0.2))
rel <- rbind(rel, c(0.6, 0.5))
rel <- rbind(rel, c(1, 0.8))
}
tmp_out_Xa_ya_frame <- SmoteRegress(ya~., Xa_ya_frame, dist="Euclidean",rel=rel,C.perc=list(0.5,2.5),k=5)
out_Xa_ya_frame <- rbind ( out_Xa_ya_frame , tmp_out_Xa_ya_frame )
}
ya_new = out_Xa_ya_frame[,1]
num_metrics <- dim(out_Xa_ya_frame)[2]
Xa_new_frame = out_Xa_ya_frame[,c(2:num_metrics)]
save_path_Xa <- paste(args[2], "Xa_A_run",args[1],".npy",sep = "", collapse = NULL)
save_path_ya <- paste(args[2], "ya_A_run",args[1],".npy",sep = "", collapse = NULL)
Xa_new <- data.matrix(Xa_new_frame)
npySave(save_path_Xa, Xa_new)
npySave(save_path_ya, ya_new)