Pgr-5
import numpy as np import matplotlib.pyplot as plt from collections import Counter data = np.random.rand(100) labels = ["Class1" if x <= 0.5 else "Class2" for x in data[:50]] def euclidean_distance(x1, x2): return abs(x1 - x2) def knn_classifier(train_data, train_labels, test_point, k): distances = [(euclidean_distance(test_point, train_data[i]), train_labels[i]) for i in range(len(train_data))] distances.sort(key=lambda x: x[0]) k_nearest_neighbors = distances[:k] k_nearest_labels = [label for _, label in k_nearest_neighbors] return Counter(k_nearest_labels).most_common(1)[0][0] train_data = data[:50] train_labels = labels test_data = data[50:] k_values = [1, 2, 3, 4, 5, 20, 30] print("--- k-Nearest Neighbors Classification ---") print("Training dataset: First 50 points labeled based on the rule (x <= 0.5 -> Class1, x > 0.5 -> Class2)") print("Testing dataset: Remaining 50 poi...