Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

Open
Candicepan opened this issue Jul 21, 2023 · 2 comments
Open

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

Candicepan opened this issue Jul 21, 2023 · 2 comments
Labels
enhancement New feature or request 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 added enhancement New feature or request 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/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request never-stale OSCP SecretFlow Open Source Contribution Plan
Projects
Status: Needs Triage
Development

No branches or pull requests

3 participants