summaryrefslogtreecommitdiff
path: root/analysis/learning.R
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-11-23 10:47:14 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-11-23 10:47:14 +0100
commit377c0109ec73482613269124480b47d7056691ec (patch)
tree59616eea40940c3ccbafea94db3fdf2f829ddf86 /analysis/learning.R
parenta68359df16784d8e35b8f413eaa1c89bdb6199de (diff)
Minor changes
Diffstat (limited to 'analysis/learning.R')
-rw-r--r--analysis/learning.R13
1 files changed, 13 insertions, 0 deletions
diff --git a/analysis/learning.R b/analysis/learning.R
index b3798e6..d21b8cd 100644
--- a/analysis/learning.R
+++ b/analysis/learning.R
@@ -64,6 +64,19 @@ generate_inputs=function(ignore_hint=FALSE) {
tree_accuracy=round((sum(diag(tree_cont_table)/sum(rowSums(tree_cont_table))))*100)
tree_prop_table=round(prop.table(tree_cont_table),digits=2)
+ ## Elbow plot
+ elbow_data=lapply(seq(1,10),function(kvalue){
+ knn_predictions=knn(train=train_set%>%select(-simkey),test=test_set%>%select(-simkey),cl=train_set$simkey,k=kvalue)
+ ## KNN analysis
+ knn_cont_table=table(knn_predictions,test_set$simkey)
+ knn_accuracy=round((sum(diag(knn_cont_table)/sum(rowSums(knn_cont_table))))*100)
+ knn_prop_table=round(prop.table(knn_cont_table),digits=2)
+ tibble(k=kvalue,accuracy=knn_accuracy)
+ })
+ elbow_data=do.call("rbind",elbow_data)
+ ggplot(data=elbow_data,aes(k,accuracy))+geom_point()+geom_line()+ggtitle(paste("K-elbow for with NoHint to",as.character(ignore_hint)))
+ ggsave(paste0("figures/knn_elbow_NoHintIs",as.character(ignore_hint),".pdf"))
+
## Prints
print(paste0("Accuracy: KNN=",knn_accuracy,"% CART=",tree_accuracy,"%"))
pdf(paste0("figures/tree_",as.character(ignore_hint),".pdf"))