nearestneighbors.py 931 B

1234567891011121314151617181920212223242526272829
  1. from sklearn.neighbors import NearestNeighbors, KNeighborsClassifier
  2. import numpy as np
  3. def main():
  4. # a test of this method using an arbitrarily generated list of 5 vectors with 3 features each
  5. # nearestNeighbors([[1, 1, 0], [1, 0, 0], [0, 0, 0], [0, 5, 5]], [[1, 1, 4]])
  6. kNearestNeighbors([[1, 1, 0], [1, 0, 0], [0, 0, 0], [0, 5, 5]], ["three", 2, 3, "5"], [[1, 1, 0], [0, 5, 5]])
  7. def kNearestNeighbors(data: list, classifications: list, test_data: list):
  8. kn = KNeighborsClassifier(n_neighbors=2)
  9. kn.fit(data, classifications)
  10. print(kn.predict(test_data))
  11. def nearestNeighbors(data: list, test_data: list):
  12. x = np.array(data)
  13. nbrs = NearestNeighbors(n_neighbors=1, algorithm='ball_tree').fit(x)
  14. dist, indicies = nbrs.kneighbors(test_data)
  15. print("Indicies:")
  16. print(indicies)
  17. print("Distances:")
  18. print(dist)
  19. return indicies, dist
  20. if __name__ == '__main__':
  21. main()