一种基于极坐标下的病例数据集不平衡处理方法

专利查询2天前  4


本发明涉及的领域为医疗领域病例数据挖掘,特别涉及一种正负样本极不平衡数据集,在极坐标下的数据处理技术,可以任意增加少数类样本,从而达到提高机器学习算法性能的目的。


背景技术:

1、不平衡数据是指在数据集中不同类别的样本数量差异较大,其中数量较少的样本叫少数类样本,数量较多的样本叫多数类样本。在医疗领域中也存在着数据不平衡的现象,健康样本和病理样本的数量往往不均衡,在一些疾病中,病理样本比健康样本少得多。在训练机器学习模型时,病例数据的不平衡可能会导致模型泛化能力差,无法很好地处理实际临床中遇到的多样化病理样本,从而出现漏诊或误诊的情况,可能导致患者没有及时得到必要的治疗,从而延误病情甚至加重病情。在处理这种不平衡数据时,主要有两种解决方法:一种是基于算法的解决方法,包括调整分类阈值或者代价敏感学习(cost-sensitivelearning),它是指在分类过程中加入类别不平衡的代价权重,使分类器对错误分类少数类的惩罚更大,代表的算法有adacost;另一种是基于数据的解决方法,主要是重采样方法,其中包括欠采样和过采样以及对应的改进方法。

2、smote(synthetic minority over-sampling technique,合成少数类过采样技术)是一种常用的处理不平衡数据的方法。smote算法广泛应用与医疗诊断、网络入侵检测以及金融风险评估等重要领域。其核心思想是通过在少数类样本之间生成新的样本来平衡数据集。具体来说,smote算法通过在特征空间中对少数类样本进行插值来生成新的样本,从而增加少数类的数量。但是,由于smote算法只能在样本与近邻点的连线上进行线性插值,具有盲目性,少数类样本生成的样本点具有限制性。同时,线性插值方法可能会在少数类样本之间生成不真实的样本,特别是在边界附近,这些样本可能并不代表实际的数据分布,从而引入噪音。当少数类样本存在类内不平衡时,简单的线性插值生成样本会加剧样本类内不平衡,smote算法不会考虑多数类和少数类的边界,如果少数类样本和近邻点的连线上正好处在边界上,那么,也会容易产生分布边缘化的问题。

3、现有smote算法及其改进方法的只能在样本点与近邻点的连线上产生新样本点的盲目性问题,已经生成的位置的局限性,导致生成的样本可能无法很好地反映真实数据的分布。


技术实现思路

1、本发明所要解决的技术问题是针对现有技术的不足提供基于极坐标下的病例数据集不平衡处理方法。

2、本发明的技术方案如下:

3、一种基于极坐标下的病例数据集不平衡处理方法,总体流程如图1所示。包括步骤s110-s160,具体如下:

4、s110:收集病例数据集,其中病例数据包括健康样本和病理样本,由于健康样本数据占整体数据集的比例较大,将健康样本数据作为多数类样本数据,而病理样本数据作为少数类样本数据。将少数类样本数据和多数类样本数据分别构成少数样本数据集和多数样本数据集;

5、s120:进行pca运算,生成主成分分析矩阵。对少数类样本数据集进行不降维pca运算,得到主成分分析矩阵;

6、s130:选取少数样本的近邻样本和多数样本,生成极坐标。在少数类样本中随机选取样本作为根样本,选取其k个近邻样本和一个多数样本,并计算主要特征的极坐标;

7、s140:在极坐标系中进行随机采样,生成新样本。在定义的环形范围中随机选择极坐标位置,并计算生成新样本的特征向量;

8、s150:转换回笛卡尔坐标系,生成新样本矩阵。将极坐标位置转化为笛卡尔坐标位置,得到新样本的特征向量,并形成新的主成分分析矩阵;

9、s160:将生成的新样本添加到少数样本集中,重复采样。将新生成的样本矩阵添加到少数样本集中,重复上述采样步骤直到达到预定的采样次数。

10、步骤s120中的不降维pca运算流程如图2所示,包括步骤s210-s230。具体是s210随机选取少数类样本作为根样本、s220对矩阵x进行不降维pca运算,得到特征矩阵p、s230计算主成分分析矩阵和主成分特征向量。下面对各个模块分别进行说明。

11、令少数样本集为d,向上采样倍率为n(重复n次),样本近邻数为k,样本分布如图3所示。

12、s210:从少数类样本中随机选取样本xi作为生成新样本的根样本,i=1,2,...,|d|。令包括t个特征的样本xi的特征向量表示为则所有样本表示为矩阵其中n为所有样本个数。

13、s220:对x进行不降维pca运算(即特征向量长度仍为t)后得到特征矩阵p。

14、s230:计算主成分分析矩阵x′和主成分特征向量xi′。令x′中的主成分特征向量表示为x′i。公式如下:

15、x′=xp

16、步骤s130中生成极坐标的计算流程如图4所示,包括步骤s310-s320。具体是s310选择邻样本,s320分组并计算极坐标。下面对各个模块分别进行说明。

17、s310:在d中选取xi的k个近邻样本,令xij为样本xi的第j个近邻样本,j=1,2,...,k。并且选取一个最近邻的多数样本xo,即

18、s320:将x'i中的主要特征按顺序两两进行分组,即和作为第d组主要特征的二维笛卡尔空间点,其中d=1,2,...,t-1(且其中与作为第t组主要特征的二维笛卡尔空间点)。同理xo的主要特征向量表示为x'o,并且将x'o中的特征按顺序两两进行分组。依次将x'o中分组的二维笛卡尔空间点作为极坐标系极点。向水平正方向引一条射线作为极轴,并计算所有样本的二维笛卡尔空间点在极坐标系中的位置。令主要特征的极坐标为则极坐标计算如下:

19、

20、

21、步骤s140中在极坐标系中进行随机采样生成新样本的流程如图5所示,包括步骤s410-s420。具体是s410定义样本生成区域,s420生成新样本。下面对各个模块分别进行说明。

22、s410和s420:将以点和点为端点的劣弧与以点和点为端点的劣弧所围成的范围定义为第d组主要特征的采样范围,如图6所示。在该环形范围中随机选择极坐标其计算表达式如下:

23、

24、其中,min(·,·)为计算最小值的函数;λ1和λ2为[0,1]之间的随机数。

25、步骤s150转换回笛卡尔坐标系并生成新样本矩阵的主要计算方式如下。令主要特征的极坐标为则笛卡尔坐标计算如下:

26、

27、通过运算得到笛卡尔坐标中第d组主要特征为和将上述采样步骤重复操作d次即可得到采样后的主要特征向量x'new,形成主成分分析矩阵x′new。进一步通过逆pca计算得到采样样本矩阵xnew,计算公示如下:

28、xnew=p-1x′new

29、将样本矩阵xnew添加到少数样本集d中。将上述步骤重复n次,从而得到新的病例样本数据集d'。

30、基于极坐标下的smote改进算法通过在扇形区域形成新的少数类样本,增加数据集中的病理样本数量,从而缓解数据不平衡的问题,相较于一些其他smote改进算法,比如borderline smote算法,该算法仅使用边界上的少数类样本来合成新样本,但边界样本可能包括一些噪声点,这些噪声样本可能被错误地认为是边界样本,从而影响生成的合成样本的质量。而基于极坐标下的smote改进算法,关注于所有少数类样本,并在相邻少数类样本之间的扇形区域随机生成新的少数类样本,降低噪声对生成样本的影响,提高了生成样本的质量,从而改善样本的类别分布。


技术特征:

1.一种基于极坐标下的病例数据集不平衡处理方法,其特征在于,包括以下步骤s110-s160:

2.根据权利要求1所述的基于极坐标下的病例数据集不平衡处理方法,其特征在于,步骤s120中的不降维pca运算包括:s210随机选取少数类样本作为根样本;s220对矩阵x进行不降维pca运算,得到特征矩阵p;s230计算主成分分析矩阵和主成分特征向量。

3.根据权利要求2所述的基于极坐标下的病例数据集不平衡处理方法,其特征在于,令少数样本集为d,向上采样倍率为n(重复n次),样本近邻数为k;

4.根据权利要求1所述的基于极坐标下的病例数据集不平衡处理方法,其特征在于,步骤s130中生成极坐标的流程包括步骤s310-s320;s310选择邻样本,s320分组并计算极坐标;

5.根据权利要求1所述的基于极坐标下的病例数据集不平衡处理方法,其特征在于,步骤s140中在极坐标系中进行随机采样生成新样本的流程包括步骤s410-s420;s410定义样本生成区域,s420生成新样本;

6.根据权利要求1所述的基于极坐标下的病例数据集不平衡处理方法,其特征在于,步骤s150转换回笛卡尔坐标系并生成新样本矩阵的计算方式如下:令主要特征的极坐标为则笛卡尔坐标计算如下:


技术总结
本发明公开了一种基于极坐标下的病例数据集不平衡处理方法,包括以下步骤:S110:收集病例数据集;S120:进行PCA运算,生成主成分分析矩阵;S130:选取少数样本的近邻样本和多数样本,生成极坐标;S140:在极坐标系中进行随机采样,生成新样本;S150:转换回笛卡尔坐标系,生成新样本矩阵;S160:将生成的新样本添加到少数样本集中,重复采样;使用本发明的算法处理后的不平衡病例数据集,可以显著提升模型对少数类样本的预测准确性和整体平衡性。生成的新样本有助于减少模型的偏差,使模型能够更好地学习并反映所有样本的特征,公平地拟合所有类别的样本,特别是病理样本。

技术研发人员:章永来,郭卉敏,王彦瑾,强彦,李华玲,张晓波
受保护的技术使用者:中北大学
技术研发日:
技术公布日:2024/12/5

最新回复(0)