Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

使用 SPU 实现随机森林算法 #254

Closed
Candicepan opened this issue Jul 21, 2023 · 2 comments · Fixed by #792
Closed

使用 SPU 实现随机森林算法 #254

Candicepan opened this issue Jul 21, 2023 · 2 comments · Fixed by #792
Labels
intermediate SecretFlow Open Source Contribution Plan never-stale OSCP SecretFlow Open Source Contribution Plan

Comments

@Candicepan
Copy link
Contributor

Candicepan commented Jul 21, 2023

此 ISSUE 为 隐语开源共建计划(SecretFlow Open Source Contribution Plan,简称 SF OSCP)任务 ISSUE,欢迎社区开发者参与共建~
若有感兴趣想要认领的任务,但还未报名,辛苦先完成报名进行哈~

任务介绍

  • 任务名称:使用 SPU 实现随机森林算法
  • 技术方向:SPU/SML
  • 任务难度:进阶🌟🌟
  • 任务期望完成时间:4-5 周

详细要求

  • 安全性(尽量少 reveal)
  • 功能性:实现算法的基本功能,包括:
    • 支持 fit,predict
    • 提供配置建树个数,建树时的最大特征树等基本参数
    • 支持起码一种 criterion,如 gini
    • 支持一些简单的预剪枝机制或其他防止过拟合的手段
  • 收敛性:包含 simulator 跑出的实验数据并且证明收敛性/准确性(最好有与明文 sklearn 结果的对比,可详见参考 PR
  • 正确性:请确保提交的代码内容为可以直接运行的
  • 代码规范:Python 代码需要使用 black+isort 进行格式化(流水线包含代码规范检查卡点)
  • 提交说明:关联该 isuue 并提交代码至 https://github.com/secretflow/spu/tree/main/sml
  • 特殊说明:若某个特性有特殊的限制,如需要 FM128,需要更多 fxp 等需要在注释文档中明确说明

能力要求

  • 熟悉经典的机器学习算法
  • 熟悉 JAX 或 NumPy,可以使用 NumPy 实现算法

操作说明

认领说明

本任务可有多种实现方式,故支持一个任务有多位开发者进行认领,请在认领任务后,在该 issue 下 comment 你的具体设计思路。

设计思路说明:简单说明计划使用什么算法 or 什么优化器实现任务需求即可

当同一任务有多位开发者提交设计思路时:

  • 若多位开发者的设计思路均类似,则将按照 comment 的时间 assign 给第一位 comment 的开发者;
  • 若多位开发者的设计思路均不同,则该 issue 将会拆分为以不同设计思路进行实现的子 issue,并 assign 给对应开发者。

开发须知

以下部分代码请必须增加代码注释,对对应代码模块进行说明,包括:

  • __init__函数的超参数含义
  • fit 的具体算法实现说明
@Candicepan Candicepan converted this from a draft issue Jul 21, 2023
@Candicepan Candicepan added intermediate SecretFlow Open Source Contribution Plan OSCP SecretFlow Open Source Contribution Plan labels Jul 21, 2023
@github-actions
Copy link

Stale issue message. Please comment to remove stale tag. Otherwise this issue will be closed soon.

@Yeekin-GYJ
Copy link

该任务与 spu #257spu #258 为「开源之夏 2024」基于 SPU 实现 tree-based 分类算法与分位数回归算法的项目课题,不可单独认领。具体认领方式请遵循「开源之夏 2024」活动规则~ 详情查看:https://summer-ospp.ac.cn/help/student/

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
intermediate SecretFlow Open Source Contribution Plan never-stale OSCP SecretFlow Open Source Contribution Plan
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants