summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-02-03 18:05:52 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2023-02-03 18:05:52 +0100
commitdc576537434ff6e10639e144f0be935ebc9afbc2 (patch)
tree07f81f83fff8446607605609deca7671c3f54220
parentcd9dc76dfc84c7542e15e9052a755842d8127116 (diff)
Update
-rw-r--r--analysis/days.R35
-rw-r--r--analysis/figures/days_accuracy.pdfbin8270 -> 8298 bytes
-rw-r--r--analysis/figures/days_energy.pdfbin6140 -> 10178 bytes
-rw-r--r--analysis/figures/days_f1-score.pdfbin9017 -> 9024 bytes
-rw-r--r--analysis/figures/delta_coverage_training.pdfbin15263 -> 15320 bytes
-rw-r--r--analysis/figures/delta_energy_training.pdfbin19601 -> 19693 bytes
-rw-r--r--analysis/figures/months_accuracy.pdfbin0 -> 12114 bytes
-rw-r--r--analysis/figures/months_f1-score.pdfbin0 -> 19355 bytes
-rw-r--r--analysis/renv.lock22
9 files changed, 30 insertions, 27 deletions
diff --git a/analysis/days.R b/analysis/days.R
index 5f87555..deed14d 100644
--- a/analysis/days.R
+++ b/analysis/days.R
@@ -12,6 +12,7 @@ library("rpart")
library("rpart.plot")
library("viridis")
library("MLmetrics")
+library("latex2exp")
## Simulation Parameters:
## simkey {baseline,extended,hint,hintandextended}
@@ -74,13 +75,15 @@ generate_accuracy_for=function(ignore_hint=FALSE,seed_max=200,attempts_max=2,wrl
data_ml=data_ml%>%filter(simkey!="hint")
}
train_set=data_ml%>%filter(seed<=seed_max)%>%select(-seed) # train data on seed_max*3 days
- test_set=data_ml%>%suppressMessages(anti_join(train_set))%>%select(-seed) # build test_sed excluding training set
-
+ test_set=data_ml%>%select(-seed) # build test_sed
+ #print(paste0("Test set ",NROW(test_set)))
+ #print(paste0("Train set ",NROW(train_set)))
## KNN training
knn_predictions=knn(train=train_set%>%select(-simkey),test=test_set%>%select(-simkey),cl=train_set$simkey,k=min(10,NROW(train_set)))
## KNN analysis
knn_cont_table=table(knn_predictions,test_set$simkey)
knn_accuracy=(sum(diag(knn_cont_table)/sum(rowSums(knn_cont_table))))
+ print(knn_accuracy)
knn_prop_table=round(prop.table(knn_cont_table),digits=2)
knn_f1_score=F1_Score2(test_set$simkey,knn_predictions)
@@ -130,9 +133,9 @@ generate_accuracy_energy = function(wireless,wakeupfor,steps=1, accuracy=10,igno
########## Generate accuracy, energy, F1-Score and coverage data ##########
-if(F){ # Toggle to train
- lora60=generate_accuracy_energy("lora",60)
+if(T){ # Toggle to train
lora180=generate_accuracy_energy("lora",180)
+ lora60=generate_accuracy_energy("lora",60)
nbiot60=generate_accuracy_energy("nbiot",60)
nbiot180=generate_accuracy_energy("nbiot",180)
accuracy=rbind(lora60$accuracy,lora180$accuracy,nbiot60$accuracy,nbiot180$accuracy)
@@ -164,10 +167,10 @@ learning_curves=accuracy%>%group_by(wireless,wakeupfor,days,model)%>%
min_f1_hintandextended=min(f1_hintandextended),max_f1_hintandextended=max(f1_hintandextended))
-ggplot(data=learning_curves%>%mutate(model=ifelse(model=="knn","KNN","DT"))%>%reduce_days(6),aes(linetype=model))+
+ggplot(data=learning_curves%>%mutate(model=ifelse(model=="knn","KNN","DT")),aes(linetype=model))+
geom_line(aes(days/30,mean_f1_baseline,color="Baseline"),size=1.2)+
geom_line(aes(days/30,mean_f1_extended,color="Extended"),size=1.2)+
- geom_line(aes(days/30,mean_f1_hintandextended,color="Hintandextended"),size=1.2)+labs(color="Classes",linetype="Model")+
+ geom_line(aes(days/30,mean_f1_hintandextended,color="Hintandextended"),size=1.2)+labs(color="Classes colors",linetype="Model")+
facet_wrap(~wireless+wakeupfor)+
scale_x_continuous(breaks = seq(0, max(learning_curves$days/30)))+
scale_y_continuous(breaks = seq(0, 1, by = 0.1))+
@@ -178,20 +181,20 @@ ggplot(data=learning_curves%>%mutate(model=ifelse(model=="knn","KNN","DT"))%>%re
legend.spacing=unit(-0.2,"cm"),
legend.box.margin=margin(1,1,1,1))+
xlab("Training duration (months)")+ylab("Classes F1-Score")
-ggsave("figures/days_f1-score.pdf",width=8.5,height=6)
+ggsave("figures/months_f1-score.pdf",width=8.5,height=6)
## Plot Merge Accuracy
-ggplot(data=learning_curves%>%mutate(model=ifelse(model=="knn","KNN","DT"))%>%reduce_days(3),
+ggplot(data=learning_curves%>%mutate(model=ifelse(model=="knn","KNN","DT")),
aes(days/30,mean_accuracy))+
- geom_line(aes(linetype=model),size=1.2)+xlab("Training duration (months)")+ylab("Model accuracy")+labs(linetype="Models")+
+ geom_line(aes(linetype=model),size=1.2)+xlab("Training duration (months)")+ylab("Model overall accuracy (OAcc)")+labs(linetype="Models")+
scale_x_continuous(breaks = seq(0, max(learning_curves$days/30)))+
scale_y_continuous(breaks = seq(0, 1, by = 0.1))+
- facet_wrap(~wireless+wakeupfor)+
+ facet_wrap(~wireless+wakeupfor)+expand_limits(x = 0, y = 0)+
th()+
theme(panel.grid.minor = element_blank(),
legend.position = c(0.38,0.68))
-ggsave("figures/days_accuracy.pdf",width=8.5,height=6)
+ggsave("figures/months_accuracy.pdf",width=8.5,height=6)
########## Energy and delta with raw policies ##########
@@ -226,18 +229,18 @@ energy_coverage_delta%>%group_by(wireless,wakeupfor,simkey)%>%group_walk(functio
})
ggplot(energy_coverage_delta,aes(days/30,delta_energy/1e3,color=simkey,shape=simkey))+
- geom_line(size=1.2)+ylab("Delta in energy (kJ)")+xlab("Training duration (months)")+
+ geom_line(size=1.2)+ylab(TeX("Delta in $E_{total}$ (kJ)"))+xlab("Training duration (months)")+
facet_wrap(~wireless+wakeupfor,scale="free")+
- th()+theme(legend.position=c(0.61,0.93))+labs(color="Classes")
+ th()+theme(legend.position=c(0.61,0.95))+labs(color="Classes colors")
ggsave("figures/delta_energy_training.pdf",height=6,width=10)
ggplot(energy_coverage_delta,aes(days/30,delta_coverage,color=simkey))+
- geom_line(size=1.2)+ylab("Delta in coverage")+xlab("Training duration (months)")+
+ geom_line(size=1.2)+ylab("Delta in network coverage")+xlab("Training duration (months)")+
facet_wrap(~wireless+wakeupfor,scale="free")+
- th()+theme(legend.position="top")+labs(color="Classes")
+ th()+theme(legend.position="top")+labs(color="Classes colors")
ggsave("figures/delta_coverage_training.pdf",width=9)
-ggplot(data=energy%>%reduce_days(6),aes(days/30,energy/1e6,group=setup,fill=setup))+
+ggplot(data=energy,aes(days/30,energy/1e6,group=setup,fill=setup))+
geom_bar(stat="identity",position="dodge")+
labs(fill="Wireless and Uptime")+
scale_x_continuous(breaks = seq(0, max(energy$days/30)))+
diff --git a/analysis/figures/days_accuracy.pdf b/analysis/figures/days_accuracy.pdf
index c99896d..5fa60fe 100644
--- a/analysis/figures/days_accuracy.pdf
+++ b/analysis/figures/days_accuracy.pdf
Binary files differ
diff --git a/analysis/figures/days_energy.pdf b/analysis/figures/days_energy.pdf
index a11a71a..324d5f5 100644
--- a/analysis/figures/days_energy.pdf
+++ b/analysis/figures/days_energy.pdf
Binary files differ
diff --git a/analysis/figures/days_f1-score.pdf b/analysis/figures/days_f1-score.pdf
index 106d9db..cde87ca 100644
--- a/analysis/figures/days_f1-score.pdf
+++ b/analysis/figures/days_f1-score.pdf
Binary files differ
diff --git a/analysis/figures/delta_coverage_training.pdf b/analysis/figures/delta_coverage_training.pdf
index 3ea9f52..7fca6c9 100644
--- a/analysis/figures/delta_coverage_training.pdf
+++ b/analysis/figures/delta_coverage_training.pdf
Binary files differ
diff --git a/analysis/figures/delta_energy_training.pdf b/analysis/figures/delta_energy_training.pdf
index da6bc6a..ff96649 100644
--- a/analysis/figures/delta_energy_training.pdf
+++ b/analysis/figures/delta_energy_training.pdf
Binary files differ
diff --git a/analysis/figures/months_accuracy.pdf b/analysis/figures/months_accuracy.pdf
new file mode 100644
index 0000000..e0cc6bc
--- /dev/null
+++ b/analysis/figures/months_accuracy.pdf
Binary files differ
diff --git a/analysis/figures/months_f1-score.pdf b/analysis/figures/months_f1-score.pdf
new file mode 100644
index 0000000..b45c1a4
--- /dev/null
+++ b/analysis/figures/months_f1-score.pdf
Binary files differ
diff --git a/analysis/renv.lock b/analysis/renv.lock
index e597486..1ba355c 100644
--- a/analysis/renv.lock
+++ b/analysis/renv.lock
@@ -699,6 +699,17 @@
"Hash": "3d5108641f47470611a32d0bdf357a72",
"Requirements": []
},
+ "latex2exp": {
+ "Package": "latex2exp",
+ "Version": "0.9.6",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Hash": "f0173e0120a278700d48998e5a93a000",
+ "Requirements": [
+ "magrittr",
+ "stringr"
+ ]
+ },
"lattice": {
"Package": "lattice",
"Version": "0.20-45",
@@ -815,17 +826,6 @@
"askpass"
]
},
- "patchwork": {
- "Package": "patchwork",
- "Version": "1.1.2",
- "Source": "Repository",
- "Repository": "CRAN",
- "Hash": "63b611e9d909a9ed057639d9c3b77152",
- "Requirements": [
- "ggplot2",
- "gtable"
- ]
- },
"pillar": {
"Package": "pillar",
"Version": "1.8.1",