update: README
Gitea Actions Experiment Test / Experiment-Actions (push) Successful in 12s

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