spu
spu copied to clipboard
使用SPU实现分位数回归算法
此 ISSUE 为 隐语开源共建计划(SecretFlow Open Source Contribution Plan,简称 SF OSCP)任务 ISSUE,欢迎社区开发者参与共建~ 若有感兴趣想要认领的任务,但还未报名,辛苦先完成报名进行哈~
任务介绍
- 任务名称:使用SPU实现分位数回归算法
- 技术方向:SPU/SML
- 任务难度:挑战🌟🌟🌟
- 任务期望完成时间:8 周
详细要求
- 安全性(尽量少 reveal)
- 功能性:实现算法的基本功能,包括:
- 支持 fit,predict
- 提供配置是否需要拟合 bias 项,分位数等
- 收敛性:包含 simulator 跑出的实验数据并且证明收敛性/准确性(最好有与明文 sklearn 结果的对比,可详见参考 PR)
- 正确性:请确保提交的代码内容为可以直接运行的
- 代码规范:Python 代码需要使用 black+isort 进行格式化(流水线包含代码规范检查卡点)
- 提交说明:关联该 isuue 并提交代码至 https://github.com/secretflow/spu/tree/main/sml
- 特殊说明:若某个特性有特殊的限制,如需要 FM128,需要更多 fxp 等需要在注释文档中明确说明
能力要求
- 熟悉经典的机器学习算法
- 熟悉 JAX 或 NumPy,可以使用 NumPy 实现算法
操作说明
- 操作指引:https://www.secretflow.org.cn/docs/spu/latest/en-US/getting_started/tutorials/develop_your_first_mpc_application
- 可参考明文实现:linear_model/_quantile
- 范例
- 参考 PR
开发须知
以下部分代码请必须增加代码注释,对对应代码模块进行说明,包括:
- __init__函数的超参数含义
- fit 的具体算法实现说明
Stale issue message. Please comment to remove stale tag. Otherwise this issue will be closed soon.
该任务与 spu #254、spu #257 为「开源之夏 2024」基于 SPU 实现 tree-based 分类算法与分位数回归算法的项目课题,不可单独认领。具体认领方式请遵循「开源之夏 2024」活动规则~详情查看:https://summer-ospp.ac.cn/help/student/