元特征抽取器
pymfe的Python项目详细描述
pymfe:python元特性提取器
从数据集中提取元特征,支持基于元学习的推荐系统的设计。元特征能够表征数据集的复杂性,并提供算法性能的估计。该包不仅包含标准,而且还包含更新的表征措施。通过提供大量的元特征提取功能,该软件包可以进行全面的数据表征、深入的数据挖掘和大量基于mtl的数据分析。
测量值
在mtl中,元特征被设计用来提取能够表征数据集的一般属性。元特征值应能提供算法性能的相关证据,从而设计基于mtl的推荐系统。因此,这些度量必须能够以较低的计算成本预测被评估算法的性能。在这个包中,元功能度量分为五组:
- general:与数据集相关的一般信息,也称为简单度量,例如实例、属性和类的数量。
- statistical:描述数据分布的数字特性的标准统计度量。
- 信息论:特别适合描述离散(分类)属性及其与类的关系。
- 基于模型的:用于从数据集中提取决策树(dt)模型的深度、形状和大小等特征的度量。
- landmarking:表示简单有效的学习算法的性能。
依赖关系
主要的要求是:
- Python(>;=3.6)
安装
安装过程与pip上提供的其他软件包类似:
pipinstall-Upymfe
可以使用以下命令安装开发版本:
pipinstall-Ugit+https://github.com/ealcobaca/pymfe
使用示例
提取元特性的最简单方法是实例化MFE
类。参数包括要提取的度量、度量组和摘要函数。默认参数是提取所有度量值。可以通过传递X
和y
来调用fit
函数。使用extract
函数提取相关度量。下面给出一个简单的例子:
# Load a datasetfromsklearn.datasetsimportload_irisfrompymfe.mfeimportMFEdata=load_iris()y=data.targetX=data.data# Extract all measuresmfe=MFE()mfe.fit(X,y)ft=mfe.extract()print(ft)# Extract general, statistical and information-theoretic measuresmfe=MFE(groups=["general","statistical","info-theory"])mfe.fit(X,y)ft=mfe.extract()print(ft)
多个度量值返回多个值。若要聚合返回值,可以使用摘要函数。该方法可以计算min
、max
、mean
、median
、kurtosis
、standard deviation
等。默认方法是mean
和sd
。接下来,可以看到使用此方法的示例:
## Extract all measures using min, median and max mfe=MFE(summary=["min","median","max"])mfe.fit(X,y)ft=mfe.extract()print(ft)## Extract all measures using quantilemfe=MFE(summary=["quantiles"])mfe.fit(X,y)ft=mfe.extract()print(ft)
可以使用mfeextract
方法kwargs将自定义参数传递给每个元功能。关键字必须是目标元功能名称,值必须是格式为{argument
:value
的字典,即字典中的每个键都是具有其各自值的目标参数。在下面的示例中,元特征min
和max
的提取与往常一样进行,但元特征sd,
nr_norm
和nr_cor_attr
将接收用户自定义参数值,这将干扰每个元特征结果。
# Extract measures with custom user argumentsmfe=MFE(features=["sd","nr_norm","nr_cor_attr","min","max"])mfe.fit(X,y)ft=mfe.extract(sd={"ddof":0},nr_norm={"method":"all","failure":"hard","threshold":0.025},nr_cor_attr={"threshold":0.6},)print(ft)
开发人员注释
在当前版本中,元特征提取程序只支持分类问题。作者计划扩展包以添加聚类和回归度量,并支持mtl评估度量。有关如何提取每组度量值的详细信息,请参阅函数文档页和其中包含的示例。有关pymfe
包的一般概述,请查看asso相关文件。
要在出版物中引用pymfe
,请使用:
- Rivolli,A.,Garcia,L.P.F.,Soares,C.,Vanschoren,J.,和De Carvalho,A.C.P.L.F.(2018年)。元学习的可重复性实证研究。arxiv:1808.10406
要提交错误和功能请求,请在project issues报告。