spu
spu copied to clipboard
使用 SPU 计算 ANOVA F 统计量
此 ISSUE 为 隐语开源共建计划(SecretFlow Open Source Contribution Plan,简称 SF OSCP)任务 ISSUE,欢迎社区开发者参与共建~ 若有感兴趣想要认领的任务,但还未报名,辛苦先完成报名进行哈~
任务介绍
- 任务名称:使用SPU计算ANOVA F统计量
- 技术方向:SPU/SML
- 任务难度:进阶🌟🌟
- 任务完成时间:4周
详细要求
- 安全性(尽量少 reveal)
- 功能性:同时返回F统计量和对应的p value
- 正确性:与sklearn的结果数值上基本一致(在可接受误差范围内)
- 代码规范:Python 代码需要使用 black+isort 进行格式化(流水线包含代码规范检查卡点)
- 提交说明:关联该 isuue 并提交代码至 https://github.com/secretflow/spu/tree/main/sml(具体提交文件夹可与reviewer讨论)
- 特殊说明:若某个特性有特殊的限制,如需要 FM128,需要更多 fxp 等需要在注释文档中明确说明
能力要求
- 熟悉经典的统计学理论
- 熟悉 JAX 或 NumPy,可以使用 NumPy 实现算法
操作说明
- 可参考sklearn中的说明: https://scikit-learn.org/stable/modules/classes.html#module-sklearn.feature_selection
- 操作指引:https://www.secretflow.org.cn/docs/spu/latest/en-US/getting_started/tutorials/develop_your_first_mpc_application
- 范例:https://github.com/secretflow/spu/blob/main/sml/linear_model/simple_sgd.py
- 可参考隐语mooc2期视频:
- https://www.bilibili.com/video/BV1ba4y1S73z/?spm_id_from=333.788
- https://www.bilibili.com/video/BV1Qe411D7MG/?spm_id_from=333.788
- 贡献指引文档: https://github.com/secretflow/spu/blob/main/sml/development.md
Give it to me.
Give it to me.
感谢认领呀,任务完成过程中是有遇到问题可以在 issue 上直接反馈,也可以添加小助手微信:SecretFlow04 进行沟通 加入 OSCP 专属群聊,期待您的PR~
我想问一下,这里f统计量的计算,应该是首先对数据按照特征划分,然后每个特征再按照label分成多个class进行anova统计量的计算,这样的理解对吗?
我想问一下,这里f统计量的计算,应该是首先对数据按照特征划分,然后每个特征再按照label分成多个class进行anova统计量的计算,这样的理解对吗?
hi,anova的计算基本是先根据class划分group,然后计算统计量即可,至于你说的按照特征划分我觉得是没必要手动操作的,因为整个计算过程显然都是可以向量化的。
经沟通该任务回收,欢迎其他小伙伴认领~