From b4cbfd5c1079ef37526567f8bbd438eac2b061f8 Mon Sep 17 00:00:00 2001
From: DesireeWyrzylala <74858504+DesireeWyrzylala@users.noreply.github.com>
Date: Sat, 15 Feb 2025 11:57:57 +0100
Subject: [PATCH] version 2 with different hyperparameters for knn

---
 src/models/sofia_modelle/call_knn.py   |  1 +
 src/models/sofia_modelle/call_knnV2.py | 28 ++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 src/models/sofia_modelle/call_knnV2.py

diff --git a/src/models/sofia_modelle/call_knn.py b/src/models/sofia_modelle/call_knn.py
index 18a2e88..34c3b4e 100644
--- a/src/models/sofia_modelle/call_knn.py
+++ b/src/models/sofia_modelle/call_knn.py
@@ -5,6 +5,7 @@ sys.path.append(str(pathlib.Path.absolute)+ '../../')
 from src.utils.slidingWindows import find_length_rank
 from src.run_model_wrapper import main
 
+#Hyperparameter tested for multivariats
 #optimal hyperparameters from autors: {'n_neighbors': 50, 'method': 'mean'},  
 params = {
         'n_neighbors': [10, 20, 30, 40, 50],
diff --git a/src/models/sofia_modelle/call_knnV2.py b/src/models/sofia_modelle/call_knnV2.py
new file mode 100644
index 0000000..b7ffaaa
--- /dev/null
+++ b/src/models/sofia_modelle/call_knnV2.py
@@ -0,0 +1,28 @@
+from KNN import KNN
+import sys
+import pathlib
+sys.path.append(str(pathlib.Path.absolute)+ '../../')
+from src.utils.slidingWindows import find_length_rank
+from src.run_model_wrapper import main
+
+#hyperparameters tested for univariats
+#optimal hyperparameters from autors: {'periodicity': 2, 'n_neighbors': 50},  
+params = {
+        'periodicity': [1, 2, 3],
+        'n_neighbors': [10, 20, 30, 40, 50],
+    }
+
+def run_Sub_KNNV2(data, n_neighbors=10, method='largest', periodicity=1, n_jobs=1):
+    slidingWindow = find_length_rank(data, rank=periodicity)
+    clf = KNN(slidingWindow=slidingWindow, n_neighbors=n_neighbors,method=method, n_jobs=n_jobs)
+    clf.fit(data)
+    score = clf.decision_scores_
+    return score.ravel()
+
+model = 'Sub_KNN_V2'
+output_path = '../../../docs/evaluation/'
+
+#writes results in .csv
+main(run_Sub_KNNV2,params,model,data_folders = '../../../data/', model_type='unsupervised',output_dir = output_path)
+
+#pip3 install -r requirements.txt
\ No newline at end of file
-- 
GitLab