Github 项目推荐 | 用于 C/C++、Java、Matlab/Octave 的特征选择工具箱

2018 年 2 月 25 日 AI研习社 孔令双

FEAST 是用于 C/C++、Java、Matlab/Octave 的特征选择工具集合,它提供了基于滤波器特征选择算法的常用互信息的实现以及 RELIEF 的实现。所有函数都需要离散输入(RELIEF 除外,它不依赖于 MIToolbox),它们返回选定的特征索引。

Github:https://github.com/Craigacp/FEAST

该项目是为了帮助研究这些算法的相关性而开发的,其结果已经发布在下述的论文中:

Conditional Likelihood Maximisation: A Unifying Framework for Information Theoretic Feature Selection
G. Brown, A. Pocock, M.-J. Zhao, M. Lujan
Journal of Machine Learning Research, 13:27-66 (2012)

加权特征选择算法描述如下:

Information Theoretic Feature Selection for Cost-Sensitive Problems
A. Pocock, N. Edakunni, M.-J. Zhao, M. Lujan, G. Brown.
ArXiv

如果有开发者或者学者需要 FEAST 中的实现做研究,请引用上述的论文。所有的 FEAST 代码都是根据 BSD 3-Clause 许可证授权的。

包含以下实现:mim,mrmr,mifs,cmim,jmi,disr,cife,icap,condred,cmi,relief,fcbf,betagamma

加权实现:mim,cmim,jmi,disr,cmi

FEAST 适用于离散输入,所以在使用 FEAST 之前,所有连续值应该离散化。作者在实验中发现,用 10 个宽度相同的二进制文件(bins)能够适用很多问题,尽管这个跟数据集的大小有关。当 FEAST 使用连续的数据时,会生成不可靠的结果,运行速度也会变慢,内存使用量也会增加很多。

MATLAB 示例(使用「data」作为我们的特征矩阵,「label」作为类标签向量):

>> size(data)
ans =
    (569,30)                                     %% denoting 569 examples, and 30 features

>> selectedIndices = feast('jmi',5,data,labels) %% selecting the top 5 features using the jmi algorithm
selectedIndices =

   28
   21
    8
   27
   23

>> selectedIndices = feast('mrmr',10,data,labels) %% selecting the top 10 features using the mrmr algorithm
selectedIndices =

   28
   24
   22
    8
   27
   21
   29
    4
    7
   25

>> selectedIndices = feast('mifs',5,data,labels,0.7) %% selecting the top 5 features using the mifs algorithm with beta = 0.7
selectedIndices =

   28
   24
   22
   20
   29

春节 AI 学习狂欢,精品课程 豪华特辑

优惠折上折,福利抢不停!


进入阅读原文获取更多福利

▼▼▼

登录查看更多
1

相关内容

特征选择( Feature Selection )也称特征子集选择( Feature Subset Selection , FSS ),或属性选择( Attribute Selection )。是指从已有的M个特征(Feature)中选择N个特征使得系统的特定指标最优化,是从原始特征中选择出一些最有效特征以降低数据集维度的过程,是提高学习算法性能的一个重要手段,也是模式识别中关键的数据预处理步骤。对于一个学习算法来说,好的学习样本是训练模型的关键。
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
264+阅读 · 2020年6月10日
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
287+阅读 · 2020年6月3日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
17+阅读 · 2019年10月9日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
机器学习在材料科学中的应用综述,21页pdf
专知会员服务
48+阅读 · 2019年9月24日
GitHub 热门:Python 算法大全,Star 超过 2 万
Python开发者
9+阅读 · 2019年4月27日
Github项目推荐 | RecQ - Python推荐系统框架
AI研习社
8+阅读 · 2019年1月23日
Python推荐系统框架:RecQ
专知
12+阅读 · 2019年1月21日
Python中机器学习的特征选择工具
云栖社区
8+阅读 · 2018年7月16日
用于数学的 10 个优秀编程语言
算法与数据结构
13+阅读 · 2018年1月5日
【推荐】自动特征工程开源框架
机器学习研究会
17+阅读 · 2017年11月7日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Feature Selection Library (MATLAB Toolbox)
Arxiv
7+阅读 · 2018年8月6日
Arxiv
4+阅读 · 2018年5月10日
VIP会员
相关资讯
GitHub 热门:Python 算法大全,Star 超过 2 万
Python开发者
9+阅读 · 2019年4月27日
Github项目推荐 | RecQ - Python推荐系统框架
AI研习社
8+阅读 · 2019年1月23日
Python推荐系统框架:RecQ
专知
12+阅读 · 2019年1月21日
Python中机器学习的特征选择工具
云栖社区
8+阅读 · 2018年7月16日
用于数学的 10 个优秀编程语言
算法与数据结构
13+阅读 · 2018年1月5日
【推荐】自动特征工程开源框架
机器学习研究会
17+阅读 · 2017年11月7日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Top
微信扫码咨询专知VIP会员