一个紧凑的Python迁移学习工具箱。

transfertools的Python项目详细描述


传输工具

transfertools是一个小Python包,包含最近的转移学习算法。 转移学习致力于将信息从一个数据集source domain传输到相关的数据集目标域。在这些域上可以设置一些约束和假设,从而激发不同的算法来进行信息传递。 该软件包包含四种转移学习算法。在

安装

使用以下命令直接从PyPi安装包:

pip install transfertools

或者使用setup.py文件安装包:

^{pr2}$

或者直接从GitHub自身安装:

pip install git+https://github.com/Vincent-Vercruyssen/transfertools.git@master

内容及用途

转移学习的目的是将信息从源域Ds传输到相关的目标域Dt。域由一个具有属性X和标签Y的数据集组成。因此,源域是Ds={{str 1}$Xs,Ys},目标域是Dt={str 1}$Xt,Yt}。基本假设是源域和目标域位于同一个特征空间。 存在不同风格的迁移学习方法。 ^例如,{em1}$Unsupervised transfer学习忽略标签信息,只使用XsXt来确定要传递什么信息。 directed transfer学习使用完整的域Ds和{str 1}$Dt来完成传输。 半监督传输学习使用完整的源域Ds和目标属性{str 1}$Xt来完成传输。在

传输的实际信息也因方法而异。 域适应技术转换源(和目标)域,使它们更紧密地匹配(根据不同的标准),然后组合所有数据点来构造^{str1}$Dcombo。 实例选择技术选择应该传输到目标数据的源数据的子集来构造Dcombo。 传输之后,可以使用Dcombo构造分类器。在

实例选择技术

transfertools包包含两种为异常检测量身定制的实例选择传输技术:

  1. LocIT本地化实例传输)算法以完全无监督的方式工作。它传输Ds中在两个域[1]中具有匹配的本地化分布的实例。该算法还可用于异常检测以外的其他应用。在
  2. CBITcluster-based-instance-transfer)算法以半监督的方式工作。它传输^{str1}$Ds中属于目标数据[2]上定义的集群的实例。在

给定一个源域{{str 1}$Xs,Ys}和目标域{{str 1}$Xt,Yt},算法的应用如下:

fromtransfertools.modelsimportLocIT,CBIT# traintransfor=LocIT()transfor.fit(Xs,Xt)# predictXs_trans=transfor.transfer(Xs)# ... or immediatelyXs_trans=transfor.fit_transfer(Xs,Xt)

域适应技术

transfertools包包含两种实例域适配技术:

  1. CORALCORAL alignment)算法是一种无监督的转移学习技术,它对齐源和目标数据的一阶和二阶统计量[3]。在
  2. TCAtransfer component analysis)算法是一种无监督的转移学习技术,它将源数据和目标数据投影到一个低维子空间[4]。在

给定一个源域{{str 1}$Xs,Ys}和目标域{{str 1}$Xt,Yt},算法将作为fo应用允许:

fromtransfertools.modelsimportTCA,CORAL# traintransfor=CORAL()transfor.fit(Xs,Xt)# predictXs_trans=transfor.transfer(Xs)# ... or immediatelyXs_trans=transfor.fit_transfer(Xs,Xt)

包装结构

转移学习算法位于:transfertools/models/

有关如何使用这些算法的更多示例,请参阅笔记本:transfertools/notebooks/

依赖关系

transfertools包需要安装以下python包:

联系人

请与包的作者联系:vincent.vercruyssen@kuleuven.be

参考文献

[1]Vercruyssen,V.,Meert,W.和J.Davis。(2020)转移学习,通过局部和无监督的实例选择进行异常检测。在纽约举行的第34届AAAI人工智能大会上。待发布

[2]Vercruyssen,V.,Meert,W.,和Davis,J.(2017)$时间序列异常检测的转移学习。见CEUR研讨会论文集,第1924卷,第27-37页。在

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

推荐PyPI第三方库


热门话题
java允许具有不同父类的类扩展类,而无需多重继承   java如何创建动态化的JScrollPane w/JPanel作为客户端?   java如何组织和命名包   在Java中读取属性文件   java无法解释的Android意图行为   在Java中动态执行多个BPEL文件的部署   ssl Java 6 SNI(服务器名称指示)?   java我们可以使用Robot框架自动化web和移动应用程序来执行并行执行   java for star pettern的循环   java为什么BinaryReader在线程中,从netty读取错误的数据包?   在java中将华氏度转换为摄氏度   使用Spark和java处理空值和引号编写CSV文件   Java中已排序日期到块的列表   visual studio代码VSCode Java不是linting或自动完成局部变量,而是自动完成Java快捷方式,如“sysout”