Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Knn (weights=distance)
import numpy as np x = np.array([ [2, 17], [3,11], [4,23], [1,12], [2,6], [6,2], [11,4], [3,24], [14,2], [9,4], [24,23], [7,6], [23,4], [14,16], [12,3] ]) y = np.array([ '+', '-', '+', '+', '-', '+', '-', '-', '-', '+', '+', '+', '-', '-', '+' ]) def distances(array, node): for _node in array: yield np.linalg.norm(_node-node) def percentage_of_labels(distances, labels): result = {} sum_distances = np.sum(1/distances) for i in set(labels): result[i] = (1/np.sum(distances[labels==i])) / sum_distances return result def knn(k, X, y, node): dist = np.array(list(distances(X, node))) index = dist.argsort()[:k] return percentage_of_labels(dist[index], y[index]) if __name__ == "__main__": print(knn(5,x, y, np.array([3,9])))
run
|
edit
|
history
|
help
0
var_local_global.py
Clockwise matrix rotation
Lesson 4 HW
bubbleSort.py
python decorator with parameter example
My name
ivan2
no count xo
PyAbs
IP Network & Broadcast Address Calculator 2