本发明属于特征筛选,具体涉及一种基于rf-mi算法的影响蓝藻生长的特征筛选方法。
背景技术:
1、随着近年来社会经济的不断发展,太湖蓝藻问题也得到了越来越多关注,在蓝藻生长的研究中发现,蓝藻的生长受到很多因素的影响。水质是影响蓝藻生长关键因素,但在水质监测的过程中有多项指标,这些指标并不都是影响蓝藻生长的主要因素。
2、目前的蓝藻影响因子特征筛选主要采用相关性分析方法、决策树或gbdt;对于相关性分析方法,其可以找出不同变量之间是正相关、负相关或者是不相关,这是定性分析,而没有定量分析的过程,所以相关性分析方法在多维影响因子筛选时具有一定的局限性;对于决策树或gbdt等单一改进算法,在数据集较大维度较高的情况下,会加大算法的计算复杂度,增加整体系统的运行负载;同时单一的决策树或其改进算法进行特征筛选,内部弱学习器之间耦合性高,难以并行训练数据,造成运行效率低下。除此之外筛选算法单一,即使可以解决上述问题也不能收获通用性的蓝藻生长特征筛选算法,导致过拟合程度不能满足后续使用的要求。
3、因此,如何找到影响蓝藻生长的关键因素成为了亟需解决的问题。
技术实现思路
1、发明目的:为解决现有分析方法在进行影响因子筛选时具有一定的局限性的问题,以及为解决无法准确找到影响蓝藻生长的关键因素的问题,本发明提出了一种基于rf-mi算法的影响蓝藻生长的特征筛选方法。
2、技术方案:一种基于rf-mi算法的影响蓝藻生长的特征筛选方法,包括以下步骤:
3、步骤1:采用随机森林算法,计算得到各水质指标的特征重要度序列;
4、步骤2:采用互信息算法,计算得到各水质指标的特征重要度序列;
5、步骤3:对步骤1得到的特征重要度序列和步骤2得到的特征重要度序列进行归一化操作,得到两个归一化后的特征重要度序列;
6、步骤4:采用聚合算法,将两个归一化后的特征重要度序列进行聚合,得到基于rf-mi的特征重要度序列;
7、步骤5:对基于rf-mi的特征重要度序列进行筛选,得到最佳特征集。
8、本发明首先通过随机森林算法获得一个特征重要度序列,然后使用互信息法获得另一个特征重要度序列,使用算术均值聚合法生成新的重要度序列,最后使用混合特征筛选方法得到最佳特征序列,本发明的混合特征筛选方法可以很好实现影响太湖蓝藻生长关键特征的筛选。
9、进一步的,所述聚合算法为均值聚合算法。
10、进一步的,采用袋外误差比较法对基于rf-mi的特征重要度序列进行筛选,得到最佳特征集。
11、进一步的,所述采用袋外误差比较法对基于rf-mi的特征重要度序列进行筛选,得到最佳特征集,包括:
12、将基于rf-mi的重要度序列中重要度最高的水质指标加入至最佳特征集中,基于当前最佳特征集,进行回归预测,得到预测准确度;
13、判断该预测准确度是否低于上一轮次的预测准确度,若不低于,则将基于rf-mi的重要度序列中重要度次次高的特征加入至最佳特征集中,进行回归预测,得到预测准确度,再判断是否低于上一轮次的预测准确度,以此循坏;若低于,则当前最佳特征集即为最佳特征集。
14、进一步的,所述水质指标包括:水温、电导率、溶解氧、ph、硅酸盐、化学需氧量、总磷和总氮。
15、有益效果:本发明与现有技术相比,具有以下优点:
16、(1)本发明通过将随机森林算法与互信息法进行结合,可以最大程度的发挥随机森林算法可在高维大数据集上运行、内部弱学习器间耦合性低,可并行训练数据的优势,同时可降低筛选结果的过拟合程度;
17、(2)本发明方法通过随机森林算法,解决了蓝藻生长相关数据在收集时难免出现缺失值的问题,使得本发明方法可以很好地实现影响太湖蓝藻生长关键特征的筛选;
18、(3)本发明方法采用两种特征筛选算法得到两个特征重要度序列,并通过均值聚合算法对两个特征重要度序列进行聚合,与现有技术中仅单一使用的特征筛选算法进行聚合,能精准得到影响太湖蓝藻生长的关键特征;
19、(4)本发明采用袋外误差比较法对按重要度排序的特征进行筛选,将原本仅用于单一随机森林算法的袋外误差重要度筛选方法使用在了均值聚合特征重要度序列上,使得本发明方法可以很好地实现影响太湖蓝藻生长关键特征的筛选。
1.一种基于rf-mi算法的影响蓝藻生长特征的筛选方法,其特点在于:包括以下步骤:
2.根据权利要求1所述的一种基于rf-mi算法的影响蓝藻生长的特征筛选方法,其特征在于:所述聚合算法为均值聚合算法。
3.根据权利要求1所述的一种基于rf-mi算法的影响蓝藻生长的特征筛选方法,其特征在于:采用袋外误差比较法对基于rf-mi的特征重要度序列进行筛选,得到最佳特征集。
4.根据权利要求3所述的一种基于rf-mi算法的影响蓝藻生长的特征筛选方法,其特征在于:所述采用袋外误差比较法对基于rf-mi的特征重要度序列进行筛选,得到最佳特征集,包括:
5.根据权利要求1所述的一种基于rf-mi算法的影响蓝藻生长的特征筛选方法,其特征在于:所述水质指标包括:水温、电导率、溶解氧、ph、硅酸盐、化学需氧量、总磷和总氮。