主权项 |
一种动态数据环境下的数据流分类方法,具体包括以下步骤:步骤100:数据流接收模块(102)从数据流(101)中按照顺序接收数据;步骤200:数据流划分模块(103)读取步骤100中的数据流数据,并根据数据流中数据到达的先后顺序对数据流进行分块;所述数据流划分模块(103)划分得到的数据块中,包含m条记录;m是固定变量,由使用者指定;步骤300:经数据划分模块(103)分块后分别向kdq树模块(104)、分类器训练模块(105)、概念漂移检测模块(107)给出所需的数据, kdq树模块(104)在数据流划分模块(103)得到的数据块上建立kdq树,并计算kdq树对应的阈值;其中,所述kdq树对应的阈值使用基于KL散度的自助法计算给出或由使用者直接给定;步骤400:分类器训练模块(105)使用步骤200得到的数据块训练各类分类器;步骤500:将kdq树模块(104)所建立的kdq树、kdq树对应的阈值、步骤400分类器训练模块训练得到的分类器将放入分类器‑特征数据池(106)中保存,以提供给概念漂移检测模块(107)、分类器选择模块(108)进行概念漂移的检测及发生概念漂移时选择合适的分类器时使用;步骤600:概念漂移检测模块(107)在数据流划分模块(103)得到一个新的数据块,并检测新数据块是否发生概念漂移,概念漂移检测模块(107)的检测结果根据由原始数据块、新数据块的KL散度值与分类器‑特征数据池(106)中保存的kdq树对应阈值的比较结果给出;在计算KL散度时需要对原始数据块进行离散化,离散化的结果由数据块通过kdq树的结果给出;步骤700:当发生概念漂移时,分类器选择模块(108)从所述分类器‑特征数据池(1 06)中选出适合当前数据块的分类器;利用所述分类器对当前数据块进行分类,所述分类器选择模块(108)的选择结果根据原始数据块、新数据块的KL散度值及分类器‑特征数据池(106)中kdq树对应阈值的比较结果给出; 如果所述分类器选择模块(108)从分类器‑特征数据池(106)中无法选出适合当前数据块的分类器,则利用kdq树模块(104)在当前数据块上建立新的kdq树,并计算kdq树对应的阈值,再利用分类器训练模块(105)在当前数据块上训练一个新的分类器,将kdq树、kdq树对应的阈值及所述分类器放入所述分类器‑特征数据池(106)中; 如果所述概念漂移没有发生,则使用当前分类器进行分类,当前分类器为:对最近时刻数据块分类的分类器;步骤800:分类器遗忘模块(109)对分类器‑特征数据池(106)中的kdq树、kdq树对应阈值及分类器进行选择性删除。 |