|
@@ -8,8 +8,8 @@ def main():
|
|
|
# a test of this method using an arbitrarily generated list of 5 vectors with 3 features each
|
|
# a test of this method using an arbitrarily generated list of 5 vectors with 3 features each
|
|
|
# nearestNeighbors([[1, 1, 0], [1, 0, 0], [0, 0, 0], [0, 5, 5]], [[1, 1, 4]])
|
|
# nearestNeighbors([[1, 1, 0], [1, 0, 0], [0, 0, 0], [0, 5, 5]], [[1, 1, 4]])
|
|
|
print(len(sys.argv))
|
|
print(len(sys.argv))
|
|
|
- if len(sys.argv) != 4:
|
|
|
|
|
- print("Usage: nearestneighbors.py datafile.bin classificationsfile.bin testdatafile.bin")
|
|
|
|
|
|
|
+ if len(sys.argv) != 5:
|
|
|
|
|
+ print("Usage: nearestneighbors.py datafile.bin classificationsfile.bin testdatafile.bin -(p/e)")
|
|
|
exit()
|
|
exit()
|
|
|
data = readPickledData(sys.argv[1])
|
|
data = readPickledData(sys.argv[1])
|
|
|
classifcations = readPickledData(sys.argv[2])
|
|
classifcations = readPickledData(sys.argv[2])
|
|
@@ -29,9 +29,16 @@ def main():
|
|
|
def kNearestNeighbors(data: list, classifications: list, test_data: list):
|
|
def kNearestNeighbors(data: list, classifications: list, test_data: list):
|
|
|
kn = KNeighborsClassifier(n_neighbors=2)
|
|
kn = KNeighborsClassifier(n_neighbors=2)
|
|
|
kn.fit(data, classifications)
|
|
kn.fit(data, classifications)
|
|
|
|
|
+ p = kn.predict(test_data)
|
|
|
print("Predictions, matching test_data by index: ")
|
|
print("Predictions, matching test_data by index: ")
|
|
|
print(test_data)
|
|
print(test_data)
|
|
|
- print(kn.predict(test_data))
|
|
|
|
|
|
|
+ print(p)
|
|
|
|
|
+ writestr = "Predictions, matching test_data by index:\n" + str(test_data) + "\n" + str(p)
|
|
|
|
|
+ if sys.argv[4][1] == 'p':
|
|
|
|
|
+ pickle.dump((test_data, p), open("results.bin", "wb"))
|
|
|
|
|
+ else:
|
|
|
|
|
+ with open("results.txt", "w+") as file:
|
|
|
|
|
+ file.write(writestr)
|
|
|
|
|
|
|
|
|
|
|
|
|
def nearestNeighbors(data: list, test_data: list):
|
|
def nearestNeighbors(data: list, test_data: list):
|