元特征抽取器

pymfe的Python项目详细描述


pymfe:python元特性提取器

Build StatuscodecovDocumentation StatusPythonVersionPypi

从数据集中提取元特征,支持基于元学习的推荐系统的设计。元特征能够表征数据集的复杂性,并提供算法性能的估计。该包不仅包含标准,而且还包含更新的表征措施。通过提供大量的元特征提取功能,该软件包可以进行全面的数据表征、深入的数据挖掘和大量基于mtl的数据分析。

测量值

在mtl中,元特征被设计用来提取能够表征数据集的一般属性。元特征值应能提供算法性能的相关证据,从而设计基于mtl的推荐系统。因此,这些度量必须能够以较低的计算成本预测被评估算法的性能。在这个包中,元功能度量分为五组:

  • general:与数据集相关的一般信息,也称为简单度量,例如实例、属性和类的数量。
  • statistical:描述数据分布的数字特性的标准统计度量。
  • 信息论:特别适合描述离散(分类)属性及其与类的关系。
  • 基于模型的:用于从数据集中提取决策树(dt)模型的深度、形状和大小等特征的度量。
  • landmarking:表示简单有效的学习算法的性能。

依赖关系

主要的要求是:

  • Python(>;=3.6)

安装

安装过程与pip上提供的其他软件包类似:

pipinstall-Upymfe

可以使用以下命令安装开发版本:

pipinstall-Ugit+https://github.com/ealcobaca/pymfe

使用示例

提取元特性的最简单方法是实例化MFE类。参数包括要提取的度量、度量组和摘要函数。默认参数是提取所有度量值。可以通过传递Xy来调用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)

多个度量值返回多个值。若要聚合返回值,可以使用摘要函数。该方法可以计算minmaxmeanmediankurtosisstandard deviation等。默认方法是meansd。接下来,可以看到使用此方法的示例:

## 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将自定义参数传递给每个元功能。关键字必须是目标元功能名称,值必须是格式为{argumentvalue的字典,即字典中的每个键都是具有其各自值的目标参数。在下面的示例中,元特征minmax的提取与往常一样进行,但元特征sd,nr_normnr_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报告。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何显示因用户而异的SQLite存储数据?   转换java。sql。将映射传递给Jackon的valueToTree方法时StringNode的时间戳   从java中的列表json获取值   unicode Java字符存储在什么编码中?   java如何让Spring数据存储库中的默认方法命中缓存?   java使用readClassDescriptor()和resolveClass()来允许序列化版本控制   数组通过另一个矩阵的一部分填充矩阵   如果包含使用正则表达式的字符串,则替换父XML标记的java   java清除SharedReference中的单个变量   java将变量值从一个jsp页面传输到另一个jsp页面   java JDBC+SQLite:DriveManager不加载所需的驱动程序   相同源代码的java Kotlin构建生成不同的二进制文件   Java中的元组枚举