论文部分内容阅读
在很多实际应用中,比如网络入侵、医疗诊断以及故障检测等,分类处理的对象大多是不平衡数据(集),即某些类别的样本数量明显少于其它类别的数据集,通常这些数据集中的少数类包含的信息是更重要的。然而,采用传统的分类方法对不平衡数据进行分类时,分类判决总会倾向于多数类,导致了对少数类样本的识别率低下。因此,如何有效提高对少数类样本的分类准确率成为了机器学习和数据挖掘领域的一个研究热点和难点。 KNN(K-Nearest Neighbors,K-近邻)是一种经典的分类算法。针对KNN算法在对不平衡数据进行分类时性能低下的缺点,本文设计了两种改进方法,并且构建了一个用于处理不平衡数据分类问题的原型系统: 第一种改进方法是将基于支持度的改进 SMOTE( Synthetic Minority Over-sampling Technique)算法(简称SSMOTE)与KNN算法结合。SSMOTE算法的关键是将支持度概念和轮盘赌选择技术引入到SMOTE中,并充分利用了异类近邻的分布信息,实现了对少数类样本合成质量和数量的精细控制。本文将SSMOTE与KNN算法结合来处理不平衡数据的分类问题。通过在UCI数据集上与其他重要文献中的相关算法进行的大量对比实验表明,SSMOTE在新样本的整体合成效果上表现出色,从而有效提高了KNN对不平衡数据的分类性能。 第二种改进方法是基于权重的KNN算法(简称GAK-KNN)。它的关键在于定义了一种新的权重分配模型,该模型综合考虑了类间分布不平衡以及类内分布不均匀的不良影响。该算法的基本步骤如下:首先采用基于遗传算法(GA)的K-means算法对训练样本集进行聚类,然后对聚类结果依照本文提出的权重分配模型计算各个训练样本的权重,最后采用改进的KNN算法对测试样本进行分类。通过对UCI数据集的大量实验表明,GAK-KNN对不平衡数据的分类性能要优于传统KNN算法以及其它相关改进方法。 本文最后利用这两种改进方法构建了一个处理不平衡数据的分类原型系统。该系统实现了对数据、数据挖掘过程和数据挖掘结果的可视化与可控性。另外,它提供了两种分类器供用户针对具体的不平衡数据的分类问题时按需选择合适的分类器并且可以自由设置相应的参数。通过对真实数据的运行测试表明了该系统具有不错的使用效果和用户体验。