Template
This commit is contained in:
@@ -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
@@ -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): 图像文件路径。
|
||||||
|
|||||||
Reference in New Issue
Block a user