1.一种针对恐怖袭击事件的数据挖掘方法,其特征是,包括:
步骤(1):对每个历史事件的历史数据进行处理得到若干个历史数据点;每个历史事件都具有唯一的编号;所述对历史数据进行处理包括:对历史数据进行特征提取和对历史数据作案动机进行量化处理;每个历史数据点是包括每个历史事件对应历史数据的提取特征的特征值和作案动机量化值形成的N*1维向量;
步骤(2):对待预测事件的待测数据进行处理得到待测数据点;对待测数据进行处理,包括:对待测数据进行特征提取和对待测数据作案动机进行量化处理;待测数据点是包括待预测事件对应位置数据的提取特征的特征值和作案动机量化值形成的N*1维向量;
步骤(3):对步骤(1)得到的所有历史数据点进行降维处理;对降维处理后的结果进行子空间聚类,通过子空间聚类获得不同维度的历史数据类簇;
步骤(4):计算待测数据点与历史数据类簇中每个数据对象之间的距离,把待测数据点到对应类簇中最近的数据对象的距离作为待测数据点到类簇的距离,如果待测数据点到类簇的距离在设定范围内,则匹配成功,否则匹配失败;最后,针对匹配成功的待测数据点,按照待测数据点到类簇的距离从小到大进行排序,排序靠前的M个历史事件的犯罪团伙的名称作为输出值输出。
2.如权利要求1所述的方法,其特征是,所述步骤(1)的对历史数据进行特征提取的具体步骤为:数据获取步骤:获取历史恐怖袭击事件的记录数据;每个事件都设有唯一的编号;所述记录数据,包括:地区、攻击类型、财产损失金额、受伤总数、死亡总数、凶手数量、抓获的凶手数量、凶手死亡人数、事件摘要、人质绑架结果或事件的解决日期;
数据预处理步骤:对历史恐怖袭击事件的记录数据均进行预处理;
数据分类步骤:采用聚类算法对数据预处理后得到的数据进行分类,划分为若干类数据;
特征一次提取步骤:采用主成分分析算法,从每一类数据中提取出若干个特征;
特征整合步骤:对所有类数据提取的所有特征进行特征整合,得到特征集合;将特征集合以及每个特征对应的特征值作为结果输出。
3.如权利要求1所述的方法,其特征是,所述数据预处理步骤,包括:数据筛选子步骤、数据填充子步骤、数据转换子步骤和数据归一化子步骤;
所述数据筛选子步骤,对事件摘要、人质绑架结果和事件的解决日期进行剔除;
所述数据填充子步骤,对恐怖袭击事件发生的凶手数量、死亡总数、抓获的凶手数量、受伤总数、死亡总数、凶手死亡人数和财产损失金额记录缺失值进行填充,对于待测数据进行零填充;
所述数据转换子步骤,对恐怖袭击事件发生的地区、攻击类型,由文本数据转换成数字数据;
所述数据归一化子步骤,对经过数据筛选、数据填充和数据转换得到的数据,采用最大最小归一化算法进行归一化处理,根据归一化处理后的数据,针对每个事件均建立N*1的矩阵,N表示数据的个数,矩阵中每个元素的值是每个记录数据对应的数值归一化后的结果。
4.如权利要求1所述的方法,其特征是,所述步骤(1)的对历史数据作案动机进行量化处理的具体步骤为:步骤(101):采集以英文文本形式记录的历史数据作案动机,对历史数据的作案动机进行分词,利用python语言中的正则表达式删除历史数据中非文本内容得到初步处理的集合F1;
步骤(102):拼写检查更正,利用python中的pyenchant包检查集合F1中单词拼写是否正确,将拼写错误的单词修改为拼写正确的单词,最后得到拼写正确的数据集合F2;
步骤(103):词型还原,利用python中的nltk包中的WordNetLemmatizer类库,将数据集合F2中可组合成一个单词的相邻字符还原成对应单词,并利用python中的TextBlob库进行api处理,将所有单词统一为小写,输出还原为单个单词的集合F3;
步骤(104):对集合F3的数据进行向量化处理,采用K均值聚类算法对向量化处理的结果进行关键词提取:以每个历史事件的历史数据为一个数据对象,依次统计每条数据对象中不同单词出现的频率,作为对应的特征值,输出形式为(Pi,bij,c),其中Pi代表集合中第i个历史事件,bij代表第i个历史事件中的第j个单词,c代表第i个历史事件中的第j个单词在第i个历史事件中对应的词频,每个历史事件的所有单词的词频以一维向量Vm表示;
对生成的所有历史事件的一维向量进行K均值聚类,通过不断调整K值确定最优分类,最后产生K个类簇,根据类簇半径从大到小对K个类簇进行排序,然后,对排序的结果依次赋值,所述赋值为依次递减的自然数,每个赋值表示对应历史事件的历史数据作案动机的分值。
5.如权利要求1所述的方法,其特征是,所述步骤(2)的对待测数据进行特征提取的具体步骤为:数据获取步骤:获取待测事件的记录数据;每个事件都设有唯一的编号;所述记录数据,包括:地区、攻击类型、财产损失金额、受伤总数、死亡总数、凶手数量、抓获的凶手数量、凶手死亡人数、事件摘要、人质绑架结果或事件的解决日期;
数据预处理步骤:对待测事件的记录数据均进行预处理;
数据分类步骤:采用聚类算法对数据预处理后得到的数据进行分类,划分为若干类数据;
特征一次提取步骤:采用主成分分析算法,从每一类数据中提取出若干个特征;
特征整合步骤:对所有类数据提取的所有特征进行特征整合,得到特征集合。
6.如权利要求1所述的方法,其特征是,所述步骤(2)的对待测数据作案动机进行量化处理的具体步骤为:步骤(201):对历史数据和待测数据的作案动机分别进行分词,利用python语言中的正则表达式删除历史数据中非文本内容得到初步处理的集合F1;
步骤(202):拼写检查更正,利用python中的pyenchant包检查集合F1中单词拼写是否正确,最后得到拼写完全正确的数据集合F2;
步骤(203):词型还原,利用python中的nltk包中的WordNetLemmatizer类库,将数据集合F2中可组合成一个单词的相邻字符还原成对应单词,并利用python中的TextBlob库进行api处理,即将所有单词统一为小写,输出还原为单个单词的集合F3;
步骤(204):对集合F3的数据进行向量化处理,采用K均值聚类算法对向量化处理的结果进行关键词提取:将每个事件的作案动机数据为一个数据对象,依次统计每条数据对象中不同单词出现的频率,作为对应的特征值,输出形式为(Pi,bij,c),其中Pi代表集合中第i个事件,bij代表第i个事件中的第j个单词,c代表第i个事件中的第j个单词在第i个历史事件中对应的词频,每个事件的所有单词的词频以一维向量Vm表示;
对生成的所有事件的一维向量进行K均值聚类,通过不断调整K值确定最优分类,最后产生K个类簇,根据类簇半径从大到小对K个类簇进行排序,然后,对排序的结果依次赋值,所述赋值为依次递减的自然数,每个赋值表示对应事件的历史数据作案动机的分值;最后输出待测事件的作案动机分值。
7.如权利要求1所述的方法,其特征是,所述步骤(3)对降维处理后的结果进行子空间聚类,通过子空间聚类获得历史数据类簇的具体步骤为:步骤(301):使用DBSCAN聚类算法在每一维上对所有数据对象进行聚类,将所得一维空
1 1 2 1 2 1
间的聚类集合记为X,设x,x为所形成的聚类,则x,x∈X;
步骤(302):计算所有聚类的类间相似度,相似度定义为聚类所包含的相同数据对象元素的数目,依次计算集合中两个聚类的类间相似度sim;
步骤(303):根据类间相似度,对每个类簇选取K个最相似类簇作为合并候选类簇;
步骤(304):根据子空间的期望密度计算对应子空间的密度阈值;
设dth(Sm)为Sm子空间的密度阈值, 是Sm子空间期望密度,C=﹛C1,C2,…,Cd﹜代表历史数据维集合,C=1×C2×…×Cd代表一个d维数据空间,其中,d为正整数;
其中,r为自定义值,设为r∈[0,1],
步骤(305):采用深度优先搜索的方式搜索子空间产生子空间聚类;
如果当前类簇与合并候选类簇中的类簇之间的距离小于子空间的密度阈值,则将当前类簇与候选类簇进行合并;
如果当前类簇与合并候选类簇中的类簇之间的距离大于等于子空间的密度阈值,则不将当前类簇与候选类簇进行合并;
步骤(306):删除剩余数据噪声点,通过子空间聚类获得若干个历史数据类簇。
8.如权利要求1所述的方法,其特征是,所述步骤(4)的具体步骤为:
计算待测数据点与历史数据类簇每个数据对象之间的距离d:
其中,bi表示待测数据点的向量坐标,ui表示历史数据类簇中数据对象的向量坐标,ri为对应子空间的半径,由于不同子空间的维度可能不同,所以采用一个基本缩放因子来调节固定半径r大小,Si代表对应子空间中数据对象的特征维度;
把待测数据点到对应类簇中最近的数据对象的距离作为待测数据到类簇的距离,如果待测数据在该类簇的设定半径范围内,则匹配成功,否则匹配失败;
最后,针对匹配成功的待测数据点,按照待测数据点到类簇的距离小到大进行排序,排序靠前的M个犯罪团伙的名称作为输出值输出。