generated from LufsX/Experiment-kNN
This commit is contained in:
+14
-6
@@ -1,6 +1,8 @@
|
||||
import numpy as np
|
||||
import os
|
||||
import time
|
||||
|
||||
# 定义ID和姓名
|
||||
id = "202210423220"
|
||||
name = "方子涵"
|
||||
|
||||
@@ -85,7 +87,10 @@ def img_to_vector(filename):
|
||||
return returnVect
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 加载训练数据集
|
||||
train_data, train_labels = load_dataset("trainingDigits")
|
||||
|
||||
# 测试数据
|
||||
test_data = (
|
||||
"00000000000000110000000000000000"
|
||||
"00000000000011111000000000000000"
|
||||
@@ -120,9 +125,12 @@ if __name__ == "__main__":
|
||||
"00000000000001111111110000000000"
|
||||
"00000000000000000111100000000000"
|
||||
)
|
||||
predicted_label = classify(
|
||||
np.array([int(char) for char in test_data]).reshape(1, 1024),
|
||||
train_data,
|
||||
train_labels,
|
||||
)
|
||||
print(f"预测的标签: {predicted_label}")
|
||||
test_data_vector = np.array([int(char) for char in test_data]).reshape(1, 1024)
|
||||
|
||||
# 测试不同的k值
|
||||
k_values = [1, 3, 5, 7, 9]
|
||||
for k in k_values:
|
||||
start_time = time.time()
|
||||
predicted_label = classify(test_data_vector, train_data, train_labels, k)
|
||||
end_time = time.time()
|
||||
print(f"k = {k}, 预测的标签: {predicted_label}, 执行时间: {end_time - start_time:.2f} 秒")
|
||||
Reference in New Issue
Block a user