Your question is Implement K-Nearest Neighbors. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
A Hitachi Energy Lumada APM classifier needs to assign an integer condition class to a new sensor-feature vector using exact k-nearest neighbors. Implement an efficient KNN predictor without using machine-learning libraries.
Implement knn_predict(points, labels, query, k).
points is a list of n feature vectors, where every vector contains d integers.labels[i] is the integer class for points[i].query is a feature vector with d integers.k nearest points using squared Euclidean distance.Build a balanced KD-tree, then search it with backtracking. If multiple points have equal distance, prefer the smaller original point index. Class prediction uses: highest vote count, then smallest total squared distance among tied classes, then smallest label.
def knn_predict(points, labels, query, k):