From 1d163105abbdc217fd00c7f86847c8c62de010a5 Mon Sep 17 00:00:00 2001 From: LufsX Date: Wed, 9 Oct 2024 02:07:57 +0800 Subject: [PATCH] update: README --- README.md | 9 ++++++++- function.py | 9 +++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index aa467d1..bb0fcb6 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,9 @@ 实验开始前必须在 [`function.py`](./function.py#L28-L29) 中填写自己的学号和姓名! -- 可以自行导入其他库,需要在 [`requirements.txt`](./requirements.txt) 添加依赖,若未在 [`requirements.txt`](./requirements.txt) 中添加使用到的依赖,则无法自动评测,成绩为零。 +- 可以自行导入其他库,需要在 [`requirements.txt`](./requirements.txt) 添加依赖,若未在 [`requirements.txt`](./requirements.txt) 中添加使用到的依赖,则无法自动评测,**不记录成绩**。 - 需要在 [`function.py`](./function.py) 中实现完整的 kNN 分类算法。 +- 默认 **k=0**,需**自行设置**最佳的默认 k 值,不修改默认值将**无法通过**自动评测,**成绩为零**。 - 自动评测脚本仅会加载 `classify` 和 `load_data` 函数,请勿修改函数名。 - 仓库内不自带数据集,本地调试时,数据集需自行下载。 - 本地调试完成后,**需要更新提交代码**,否则无法自动评测,**没有实验成绩**。 @@ -59,3 +60,9 @@ 若要完成实验,请确保是在**本页面**点击「使用模版」来创建仓库,新仓库名称建议与模版名称相同,其余操作参见[挑战赛的说明](https://git.intcplab.cn/LufsX/Challenge-kNN#挑战操作)。 若要完成实验,评测时检查创建完成的**仓库信息**是否正确,本次实验标题为「**实验一:KNN 与二值手写数字识别**」! + +## 其它 + +若有流程、优化等相关建议和问题,欢迎在[评测后端项目工单](https://git.intcplab.cn/LufsX/Evaluation-Backend/issues)中提出。 + +同时欢迎参与[评测后端](https://git.intcplab.cn/LufsX/Evaluation-Backend)的开发与优化! diff --git a/function.py b/function.py index 4911639..b1f8c16 100644 --- a/function.py +++ b/function.py @@ -34,14 +34,14 @@ name = "test_name" - input_vector (numpy array): 输入待分类的样本。 - dataSet (numpy array): 训练数据集。 - labels (list or numpy array): 训练集对应的标签。 -- k (int): KNN 算法参数,请自行设置默认值,评测时仅会使用其默认值。 +- k (int): kNN 算法参数,请**自行设置默认值**,评测时仅会使用其默认值,不修改默认值将**无法通过**评测,**成绩为零**。 返回值: - int: 预测的分类标签。 """ # 这里写自己的代码实现 -def classify(input_vector, dataSet, labels, k=3): +def classify(input_vector, dataSet, labels, k=0): """ KNN 分类算法。 @@ -49,7 +49,7 @@ def classify(input_vector, dataSet, labels, k=3): - input_vector (numpy array): 输入待分类的样本。 - dataSet (numpy array): 训练数据集。 - labels (list or numpy array): 训练集对应的标签。 - - k (int): KNN 算法参数,请自行设置默认值,评测时仅会使用其默认值。 + - k (int): kNN 算法参数,请**自行设置默认值**,评测时仅会使用其默认值,不修改默认值将**无法通过**评测,**成绩为零**。 Returns: - int: 预测的分类标签。 @@ -59,7 +59,7 @@ def classify(input_vector, dataSet, labels, k=3): # 这里也写自己的代码实现 def load_dataset(directory): """ - 从文件夹中加载数据。 + 从文件夹中加载数据,若不自行正确实现,则无法通过评测,**不记录成绩**。 Args: - directory (str): 数据文件夹路径。 @@ -74,6 +74,7 @@ def load_dataset(directory): def img_to_vector(filename): """ 将二值图像转换为向量。 + 该部分应为 load_dataset 函数的辅助子函数,可单独在这里实现,也可直接集成至 load_dataset 函数中。 Args: - filename (str): 图像文件路径。