更新 function.py
Gitea Actions Experiment Test / Experiment-Actions (push) Successful in 17s

This commit is contained in:
2024-10-16 22:47:27 +08:00
parent b110501f0a
commit 8af95a8f54
+8 -8
View File
@@ -41,7 +41,7 @@ name = "唐一鸣"
# 这里写自己的代码实现 # 这里写自己的代码实现
def classify(input_vector, dataSet, labels, k=3): def classify(input_vector, dataSet, labels, k=1):
""" """
KNN 分类算法。 KNN 分类算法。
@@ -84,8 +84,8 @@ def load_dataset(directory):
file_list = os.listdir(directory) file_list = os.listdir(directory)
num_files = len(file_list) num_files = len(file_list)
# 初始化数据矩阵,假设每个图像转化为 28x28=784 的向量 # 初始化数据矩阵,假设每个图像转化为 32x32=1024 的向量
data_matrix = np.zeros((num_files, 784)) data_matrix = np.zeros((num_files, 1024))
for i, filename in enumerate(file_list): for i, filename in enumerate(file_list):
# 提取文件名中的数字作为标签 # 提取文件名中的数字作为标签
@@ -113,13 +113,13 @@ def img_to_vector(filename):
""" """
# 初始化一个 1D 向量 # 初始化一个 1D 向量
vector = np.zeros((1, 784)) vector = np.zeros((1, 1024))
with open(filename, 'r') as file: with open(filename, 'r') as file:
for i in range(28): for i in range(32):
line = file.readline() line = file.readline()
for j in range(28): for j in range(32):
vector[0, 28 * i + j] = int(line[j]) vector[0, 32 * i + j] = int(line[j])
return vector return vector
@@ -162,7 +162,7 @@ if __name__ == "__main__":
"00000000000000000111100000000000" "00000000000000000111100000000000"
) )
predicted_label = classify( predicted_label = classify(
np.array([int(char) for char in test_data]).reshape(1, 784), np.array([int(char) for char in test_data]).reshape(1, 1024),
train_data, train_data,
train_labels, train_labels,
) )