首页
学习
活动
专区
圈层
工具
发布

我做了个Python包ganfs:用GAN自动做高维数据特征筛选,不用领域专家

大家好,

我最近开源了一个叫 ganfs(生成对抗网络特征筛选)的 Python 包,想分享给社区

先说问题:在高维数据里挑出最有用的特征,往往是个很大的瓶颈传统方法(比如过滤式包裹式嵌入式)通常要么很难扩展开来,要么抓不住复杂的非线性关系,要么就得靠领域专家手动判断哪些特征重要

我的解法(ganfs):我想用对抗学习把这个过程自动化ganfs 会在你的数据集上训练一个生成对抗网络等 GAN 学到了底层的数据分布后,算法会对判别器施加扰动

通过观察判别器对这些扰动的反应,ganfs 会自动给特征打分排序,核心思路就是看哪些特征“最难伪造”本质上,它是在没有领域监督的情况下,自己学出规律并提取出信息量最大的特征

这个算法最早是我在做大规模 DDoS 检测研究时开发的(那种场景下挑对网络特征特别关键),不过这个包本身不限定领域,干什么都行

用法也很简单:直接 pip install ganfs 就能装它的 API 设计和 scikit-learn 的转换器差不多,上手很容易

目前我正在优化小数据集下的 GPU 显存占用,不过功能已经完整可用了

很希望大家能拿自己的数据试试,然后给我反馈——不管是整体架构代码结构,还是遇到的 bug 都行关于算法原理或者实现细节的问题,我也很乐意解答!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Occt_tZIH8ZVOnuTtaRcAmYA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券