Files
Challenge-kNN/README.md
T
2024-10-08 18:13:00 +08:00

90 lines
3.0 KiB
Markdown

# 挑战一:kNN 算法
## 挑战说明
- 自行在 [`function.py`](./function.py) 中编写实现 KNN 分类算法。
- 函数输入: 待分类的样本 `inX`, 训练数据集 `dataSet`, 训练集对应的标签 `labels`。
- 函数返回: 预测的分类标签。
成功上传的评测结果将在 [rank.intcplab.cn](https://rank.intcplab.cn/) 展示。
## 注意事项
挑战开始前必须在 [`function.py`](./function.py#L28-L29) 中填写自己的学号和姓名!
- 可以自行导入其他库,需要在 [`requirements.txt`](./requirements.txt) 添加依赖,若未在 [`requirements.txt`](./requirements.txt) 中添加使用到的依赖,则无法自动评测,成绩为零。
- 需要在 [`function.py`](./function.py) 中实现完整的 KNN 分类算法。
- 自动评测脚本仅会加载 [`classify0`](./function.py#L43) 函数,请勿修改函数名。
- 训练集在本目录下的 [`datingTrainSet2.tsv`](./datingTrainSet2.tsv) 中。
- 评测数据集在本目录下的 [`datingTestSet2.tsv`](./datingTestSet2.tsv) 中。
- 本地调试完成后,**需要更新提交代码**,否则无法自动评测,**没有挑战成绩**。
- 评测的运行时间受机器性能影响,运行时间仅供参考。
- 若有评测相关问题,请在[项目工单](https://git.intcplab.cn/LufsX/Evaluation-Backend/issues)处提出,或联系 QQ: `1968647927`。
代码提交后会进行自动评测,评测所用的环境如下:
- CPU: Intel Xeon(R) CPU E3-1231 v3 @ 3.40GHz
- OS: Ubuntu 22.04.4 LTS
- Python: 3.10.12
- numpy: 2.1.1
## 挑战操作
挑战赛与实验为两个**不同**的仓库,注意不要混淆!
---
[注册平台帐号](https://git.intcplab.cn/user/sign_up),若有平台帐号相关问题,联系 QQ: `1968647927`。
![注册平台帐号](./img/sign_up.png)
进入对应仓库的页面,点击页面的「使用模版」按钮。
![创建仓库](./img/create.png)
填写仓库名称(建议和对应仓库一致,例如本仓库名 `Challenge-kNN`),勾选模版选项中的「Git 数据(默认分支)」后,点击「创建仓库」按钮。
![创建仓库](./img/create2.png)
可以选择拉取到本地写代码,也可以直接在线编辑。
---
下面以在线编辑为例。
打开对应的文件,点击编辑按钮即可。
![在线编辑](./img/edito.png)
编辑完成后,点击「提交变更」按钮提交修改。
![在线编辑](./img/edito2.png)
---
下面以拉取到本地写代码为例。
![拉取到本地](./img/edit.png)
点击后会叫你选个地方保存代码,选择目录后继续。
然后编辑器就会打开,你可以开始写代码了。
![编辑代码](./img/edit2.png)
编辑完成后,点侧栏的分叉图标,选择你要提交的变更,再点提交按钮。
![提交变更](./img/commit.png)
接下来会弹出一个窗口,填写你平台帐号的用户名和密码后即可。
---
提交完成后,会自动开始评测。
这里就可以看到你评测的实时情况与最终得分。
![评测结果](./img/result.png)
![评测结果](./img/result2.png)