孤立森林 实现_一种将孤立森林算法模块化与可视化的方法与流程

本发明涉及异常检测技术领域,尤其是一种将孤立森林算法模块化与可视化的方法。

背景技术:

异常检测算法已有常用的几个流行算法,如LOF算法、COF算法和DBSCAN算法,只是算法模块化和可视化的方法并没有出现。

随着数据挖掘技术的发展,异常检测的方法也日趋成熟,如何能明了的看到检测的结果是一个业务需求,同时为了业务性能的需要,需要简化没有必要的模型训练,这就体现出模块化的重要性。目前,还没有成熟实现的异常检测模块化和可视化的方法。

技术实现要素:

本发明所要解决的技术问题在于,提供一种将孤立森林算法模块化与可视化的方法,能够实现iforest算法训练和预测的分离,在此基础上加入了评估算子,评估算法的性能,同时将每个模块对应的输出可视化。

为解决上述技术问题,本发明提供一种将孤立森林算法模块化与可视化的方法,包括如下步骤:

(1)将iforest算法模块化;将iforest算法分为两个阶段即训练和预测,将训练iforest过程独立为一个模块为训练iforest算法模块,将预测iforest过程独立为一个模块为预测iforest算法模块,同时增加了评估指标作为评估iforest算法好坏的一个模块为评估iforest算法模块;

(2)将iforest算法每一个模块的结果可视化;将步骤(1)中的三个模块对应的输出依次做到可视化,训练iforest算法模块将训练好的模型存储,预测iforest算法模块的输出在数据图展示出来,包括预测的标签,评估iforest算法模块将评价的指标展示出来。

优选的,步骤(1)中,训练iforest算法模块根据对应的数据训练出适用于该类数据的预测的模型;预测iforest算法模块输入要预测的数据以及与该数据匹配的训练好的模型即可预测数据的异常性,并给出标签;评估iforest算法模块以预测结果作为输入可以计算出多个评价指标,用来说明算法的效果。

优选的,步骤(2)中,训练iforest算法模块用于训练数据,对指定属性的列进行训练,训练的主要参数包括随机种子、参数样本数、样本选取方式、建树的棵树、异常所占比例,训练iforest算法模块设置这些参数接口,参数设置完成后提交。

优选的,步骤(2)中,预测iforest算法模块,直接对数据进行异常预测,输出结果为表的形式,在被预测的原始数据的每一行添加了label列,其中1表示该行数据为异常,0表示正常;输入为已经存在的模型和要被预测的数据,算法需要被预测的数据需要与训练数据类型一致。

优选的,步骤(2)中,评估iforest算法模块对预测的结果进行评价,被预测的数据属于无标签的数据,即训练和预测是无监督的过程,该模块需要输入的是已经给出标签的预测数据,输出为五个指标,评价指标会根据预测数据的分布来给出预测结果的合理性。

本发明的有益效果为:根据算子的模块化,可以将训练、预测以及评估iforest算子三个功能分开,这样就节省了每次训练的时间,在不必要的时候直接对数据进行预测,或者对预测结果进行评估,提高了效率;同时三个算子的可操作性很强,即使没有理论基础,依然可以对数据进行训练、预测或者评估,降低了使用要求;可视化算子的结果使得结果数据直观的展示出来,增强算法的可信度。

附图说明

图1为本发明的三个算子模块化示意图。

图2为本发明的三个算子结果输出的可视化示意图。

具体实施方式

如图1所示,一种将孤立森林算法模块化与可视化的方法,包括如下步骤:

(1)将iforest算法模块化;

iforest算法分为两个阶段即训练和预测,所以将训练iforest过程独立为一个模块,将预测iforest过程独立为一个模块,同时增加了评估指标作为评估iforest算法效果的一个模块。

(2)将iforest算法三个模块的输出可视化。

将步骤(1)中的三个模块对应的输出依次做到可视化(训练模块为保存模型)。训练iforest算法将训练好的模型存储;预测iforest算子的输出可以在数据图展示出来,包括预测的标签;评估iforest算子将评价的指标展示出来。

独立的训练iforest算法模块用于训练数据,该模块可以支持传入数据的选择,即对指定属性的列进行训练,训练的主要参数包括随机种子、参数样本数、样本选取方式、建树的棵树、异常所占比例,该模块设置这些参数接口,参数设置完成,提交即可。

预测iforest算子模块,直接对数据进行异常预测,输出结果为表的形式,在被预测的原始数据的每一行添加了label列,其中1表示该行数据为异常,0表示正常。在该模块输入为已经存在的模型和要被预测的数据,算法需要被预测的数据需要与训练数据类型一致,否则预测没有意义。

评估iforest算子模块是对预测的结果进行评价,被预测的数据属于无标签的数据,即训练和预测是无监督的过程,该模块需要输入的是已经给出标签的预测数据,输出为五个指标。评价指标会根据预测数据的分布来给出预测结果的合理性。

训练iforest算法部分,有属性列、设定随机数、是否放回、样本数、训练树棵树、决策回归模型名和是否覆盖七个参数。属性列为可选择参数,需要选择参加训练的数据列,该数据列是从由前置算子传递过来的数据中选择,增加了数据选择的灵活性;设定随机数为填写参数,该参数控制训练模型建立根节点时数据点的随机选择;是否放回参数为布尔参数,选择是即从所有数据中采取放回式抽样(主要在数据量不足以建立稳定森林的时候使用),选择否即从所有数据中采取无放回式抽样,这样可以更好的采取到多样性的样本,利于良好模型的建立;样本数为填写参数,该参数为建立森林中的树需要用到的样本数,一般选用256,在数据量不足的情况下,可适当以除以2的级数降低;训练树棵数为填写参数,该参数森林中构建树的棵数,实验验证显示该参数在50以上模型趋于稳定;决策回归模型名为填写参数,是为模型定义的名字,在该平台可以利用宏参变量作为模型名字的一部分以免于模型名重复;是否覆盖为布尔参数,该参数控制生成的新模型是否要覆盖同一个目录下重名的模型,按需选择。

训练iforest模型的上述参数都是该专利利用平台模块化功能将原始算法的参数提取出来的,使得模型训练更加易于理解,且灵活可用。

测试iforest算子模块,有模型保存路径、模型名称和预测数据列三个参数。如果测试iforest模块跟在训练模块之后,系统会自动将路径和模型名称带过来,只需要选择被测试数据的属性列;如果单独使用测试iforest模块,需要选择模型路径和模型名称以及属性列。

评估iforest算子模块选择属性列和标签列为输入,计算出四个指标用来衡量算法的优劣。

本发明能够实现iforest算法训练和预测的分离,在此基础上加入了评估算子,评估算法的性能,同时将每个模块对应的输出可视化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值