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

This commit is contained in:
2024-10-16 18:37:05 +08:00
parent 6a9f90ec2c
commit dddf61b7a3
+3 -26
View File
@@ -58,11 +58,7 @@ def classify(input_vector, dataSet, labels, k=3):
"""
使用欧式距离的 kNN 分类算法。
"""
distances = [np.linalg.norm(input_vector - x) for x in dataSet]
k_indices = np.argsort(distances)[:k]
k_nearest_labels = [labels[i] for i in k_indices]
most_common = Counter(k_nearest_labels).most_common(1)
return most_common[0][0]
# 这里也写自己的代码实现
@@ -78,25 +74,7 @@ def load_dataset(directory):
- np.array: 特征数据。
- np.array: 标签数据。
"""
features = []
labels = []
for filename in os.listdir(directory):
filepath = os.path.join(directory, filename)
# 检查文件是否为图片类型(如 png 或 jpg)
if filename.endswith(".png") or filename.endswith(".jpg"):
# 从文件名提取标签
label = int(filename.split('_')[0])
# 加载图片并转换为灰度图
image = Image.open(filepath).convert('L')
# 展平为一维向量并添加到特征列表中
feature = np.array(image).flatten()
features.append(feature)
labels.append(label)
return np.array(features), np.array(labels)
# 这里还写自己的代码实现
@@ -111,8 +89,7 @@ def img_to_vector(filename):
Returns:
- np.array: 二值图像向量。
"""
image = Image.open(filename).convert('L')
return np.array(image).flatten()
if __name__ == "__main__":