From 750d287bb91f17f1d1bc5824b6c0645bee410007 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Ramnel=C3=B6v?= <felra653@student.liu.se>
Date: Fri, 13 Dec 2024 09:44:27 +0100
Subject: [PATCH] Lab 3: Code cleanup

---
 lab3/assignment2.R | 13 ++++++-------
 lab3/assignment3.R |  6 ++----
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/lab3/assignment2.R b/lab3/assignment2.R
index f71fbf8..0f0353d 100644
--- a/lab3/assignment2.R
+++ b/lab3/assignment2.R
@@ -28,6 +28,7 @@ times <- c(
   "24:00:00"
 )
 
+# Convert time strings to POSIXlt
 st$time <- strptime(st$time, format = "%H:%M:%S")
 
 gaussian_kernel <- function(x, h) {
@@ -80,9 +81,7 @@ date_diff_ignoring_year <- function(date1, date2) {
   diff <- abs(as.numeric(date1-date2))
 
   # If difference is greater than half a year, go other way
-  if (diff >= 183) {
-    diff <- 366 - diff
-  } 
+  if (diff >= 183) diff <- 366 - diff
   
   return(diff)
 }
@@ -106,14 +105,14 @@ for (time in times) {
   }, st_temp$latitude, st_temp$longitude)
   
   
-  date_kernels <- mapply(function(x_i) {
-    dist <- date_diff_ignoring_year(date, x_i)
+  date_kernels <- mapply(function(date_i) {
+    dist <- date_diff_ignoring_year(date, date_i)
     gaussian_kernel(dist, h_date)
   }, st_temp$date)
   
   
-  time_kernels <- mapply(function(x_i) {
-    dist <- as.numeric(difftime(time, x_i, units = "hours"))
+  time_kernels <- mapply(function(time_i) {
+    dist <- as.numeric(difftime(time, time_i, units = "hours"))
     gaussian_kernel(dist, h_time)
   }, st_temp$time)
   
diff --git a/lab3/assignment3.R b/lab3/assignment3.R
index 18d9602..bc09c53 100644
--- a/lab3/assignment3.R
+++ b/lab3/assignment3.R
@@ -98,16 +98,14 @@ k <- NULL
 for (i in 1:10) {
   # We produce predictions for just the first 10 points in the dataset.
   k2 <- inte
-  data_point <- as.numeric(spam[i, -58])
+  new_data_point <- as.numeric(spam[i, -58])
   for (j in 1:length(sv)) {
     support_vector <- as.numeric(spam[sv[j], -58])
-    kernel_value <- rbf_kernel(support_vector, data_point)
+    kernel_value <- rbf_kernel(support_vector, new_data_point)
     k2 <- k2 + co[j] * kernel_value
   }
   print(k2)
   k <- c(k, sign(k2))
 }
-
-# Only first correct, close to decision boundary (0.006292512).
 k
 predict(filter3, spam[1:10, -58], type = "decision")
\ No newline at end of file
-- 
GitLab