机器学习在贫血分类与健康数据不平衡处理中的应用
1. 投票分类器在模型中的表现
在机器学习中,投票分类器是一种常用的集成学习方法,可分为硬投票和软投票。下面通过两组不同的模型来展示其性能。
第一组模型
| 分类器 | F1 分数 | Cohen kappa | 平衡准确率 | MCC | 精确率 | 灵敏度 | 特异度 |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| 软投票 | 0.8803 | 0.7544 | 0.8772 | 0.7554 | 0.8583 | 0.9035 | 0.8509 |
| 硬投票 | 0.8595 | 0.7018 | 0.8509 | 0.7071 | 0.8125 | 0.9123 | 0.7895 |
从表格数据可以看出,软投票分类器在 F1 分数、Cohen kappa、平衡准确率、MCC、精确率和特异度方面表现更优,而硬投票分类器的灵敏度更高。投票分类器(硬和软)的权重由每个模型的马修斯相关系数(MCC)决定。
mermaid 流程图展示第一组模型投票分类器性能比较:
graph LR
A[软投票] --> B{F1 分数高}
A --> C{Cohen kappa 高}
A --> D{平衡准确率高}
A --> E{MCC 高}
A --> F{精确率高}
A --> G{特异度高}
H[硬投票] --> I{灵敏度高}
第二组模型
使用的模型包括 XGBoost、Light GBM 分类器(LGB)、梯度提升分类器、随机森林分类器(RF)和线性判别分析(LDA)。
| 模型 | F1 分数 | Cohen kappa | 平衡准确率 | MCC | 精确率 | 灵敏度 | 特异度 |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| LGB | 0.9018 | 0.8070 | 0.9035 | 0.8075 | 0.9182 | 0.8860 | 0.9211 |
| XGBoost | 0.8899 | 0.7807 | 0.8904 | 0.7807 | 0.8938 | 0.8860 | 0.8947 |
| 梯度提升 | 0.8761 | 0.7544 | 0.8772 | 0.7545 | 0.8839 | 0.8684 | 0.8860 |
| RF | 0.8978 | 0.7982 | 0.8991 | 0.7985 | 0.9099 | 0.8860 | 0.9123 |
| LDA | 0.7966 | 0.5789 | 0.7895 | 0.5804 | 0.7705 | 0.8246 | 0.7544 |
从这组数据可知,Light GBM 分类器在平衡准确率、F1 分数、Cohen kappa、精确率、特异度和 MCC 方面表现最佳,而随机森林(RF)、Light GBM 分类器(LGB)和 XGBoost 在灵敏度方面表现出色。
投票分类器在第二组模型中的表现:
| 分类器 | F1 分数 | Cohen kappa | 平衡准确率 | MCC | 精确率 | 灵敏度 | 特异度 |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| 软投票 | 0.8969 | 0.7982 | 0.8991 | 0.7990 | 0.9174 | 0.8772 | 0.9211 |
| 硬投票 | 0.8889 | 0.7807 | 0.8904 | 0.7810 | 0.8125 | 0.8772 | 0.9035 |
软投票分类器的 MCC 和精确率最高,硬投票的 F1 分数和灵敏度最高,二者的 Cohen kappa 相同。同样,投票分类器(硬和软)的权重由每个模型的 MCC 决定。
mermaid 流程图展示第二组模型投票分类器性能比较:
graph LR
A[软投票] --> B{MCC 高}
A --> C{精确率高}
D[硬投票] --> E{F1 分数高}
D --> F{灵敏度高}
A --> G{Cohen kappa 相同}
D --> G
2. 健康数据不平衡问题及处理方法
在科学研究和医疗保健中,健康数据不平衡是一个长期存在的问题。数据不平衡指的是某一类数据在数量上远远超过其他类数据,这会给机器学习模型准确分类数据点带来挑战,可能导致有偏差和不准确的预测,在医疗环境中会产生严重后果。
为了解决这个问题,研究人员通常采用采样技术来平衡数据集,主要包括过采样和欠采样两种方法。
过采样技术
-
SMOTE(合成少数过采样技术)
:随机选择一个少数类实例“a”,找到其 k 个最近的少数类邻居,随机选择其中一个邻居“b”,在特征空间中连接“a”和“b”形成线段,合成实例作为“a”和“b”的凸组合。
-
Borderline - SMOTE
:是 SMOTE 的变体,关注被错误分类或位于决策边界附近的少数类实例,通过与最近邻组合生成合成实例,有助于提高少数类的分类性能。
-
SVM - SMOTE
:是 Borderline - SMOTE 的扩展,用标准 SVM 分类器训练得到的支持向量近似边界区域,通过插值在少数类支持向量与其最近邻的连线上随机创建新实例。
-
随机过采样
:有两种方式,一是对少数类当前可用样本进行有放回的随机采样生成新样本,二是基于平滑的自助重采样技术生成新样本。本研究采用了第一种方式。
-
ADASYN(自适应合成采样)
:使用基于密度的方法,识别少数类中难以分类的实例,通过添加噪声生成合成实例,能自适应地为训练数据中代表性不足的少数类实例生成更多合成实例,从而平衡类分布。
mermaid 流程图展示过采样技术流程:
graph LR
A[过采样] --> B[SMOTE]
A --> C[Borderline - SMOTE]
A --> D[SVM - SMOTE]
A --> E[随机过采样]
A --> F[ADASYN]
欠采样技术
-
随机欠采样
:从多数类中随机选择一个子集样本并从数据集中移除,直到多数类和少数类的类分布达到平衡。可以根据指定的采样策略随机删除多数类的行,也可以通过设置 replacement 为“True”允许数据进行自助采样。
-
NearMiss
:是一种受控的欠采样技术,有三个版本。NearMiss - 1 选择与少数类三个最近示例平均距离最小的多数类样本;NearMiss - 2 选择与少数类三个最远示例平均距离最小的多数类样本;NearMiss - 3 选择与 k 个最近邻平均距离最大且每个少数类样本最近的多数类样本。本研究使用 NearMiss - 1 和 NearMiss - 2。
-
Condensed Nearest Neighbor(CNN)
:旨在提高 k 近邻分类的速度,通过识别和移除训练数据中的离群点,仅保留 1 - NN 正确分类的实例,这些保留的实例成为 kNN 中使用的吸收点。
-
Edited Nearest Neighbor(ENN)
:基于最近邻算法,通过迭代检查数据集中每个示例的类标签与其 k 个最近邻的类标签,如果示例的类标签与大多数 k 近邻不同,则将该示例从数据集中移除。
mermaid 流程图展示欠采样技术流程:
graph LR
A[欠采样] --> B[随机欠采样]
A --> C[NearMiss]
A --> D[CNN]
A --> E[ENN]
综上所述,在贫血分类中,不同的投票分类器在不同模型中有不同的表现,而在处理健康数据不平衡问题时,过采样和欠采样技术各有特点和适用场景。在实际应用中,需要根据具体情况选择合适的方法和技术,以提高模型的性能和分类的准确性。
机器学习在贫血分类与健康数据不平衡处理中的应用
3. 综合评估与结果分析
为了更全面地了解各模型和投票分类器的性能,将所有模型和投票分类器的评估分数汇总如下:
| 模型 | F1 分数 | Cohen kappa | 平衡准确率 | MCC | 精确率 | 灵敏度 | 特异度 |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| DT | 0.7892 | 0.5877 | 0.7939 | 0.5883 | 0.8073 | 0.7719 | 0.8158 |
| SVM | 0.8619 | 0.7105 | 0.8553 | 0.7139 | 0.8240 | 0.9035 | 0.8070 |
| KNN | 0.7596 | 0.3947 | 0.6974 | 0.4613 | 0.6301 | 0.9561 | 0.4386 |
| LR | 0.7897 | 0.5702 | 0.7851 | 0.5707 | 0.7731 | 0.8070 | 0.7632 |
| GNB | 0.7633 | 0.4123 | 0.7061 | 0.4707 | 0.6391 | 0.9474 | 0.4649 |
| LGB | 0.9018 | 0.8070 | 0.9035 | 0.8075 | 0.9182 | 0.8860 | 0.9211 |
| XGBoost | 0.8899 | 0.7807 | 0.8904 | 0.7807 | 0.8938 | 0.8860 | 0.8947 |
| 梯度提升 | 0.8761 | 0.7544 | 0.8772 | 0.7545 | 0.8839 | 0.8684 | 0.8860 |
| RF | 0.8978 | 0.7982 | 0.8991 | 0.7985 | 0.9099 | 0.8860 | 0.9123 |
| LDA | 0.7966 | 0.5789 | 0.7895 | 0.5804 | 0.7705 | 0.8246 | 0.7544 |
| 软 (DT, SVM, KNN, LR, GNB) | 0.8803 | 0.7544 | 0.8772 | 0.7554 | 0.8583 | 0.9035 | 0.8509 |
| 硬 (DT, SVM, KNN, LR, GNB) | 0.8595 | 0.7018 | 0.8509 | 0.7071 | 0.8125 | 0.9123 | 0.7895 |
| 软 (LGB, XGBoost, 梯度提升, RF, LDA) | 0.8969 | 0.7982 | 0.8991 | 0.7990 | 0.9174 | 0.8772 | 0.9211 |
| 硬 (LGB, XGBoost, 梯度提升, RF, LDA) | 0.8889 | 0.7807 | 0.8904 | 0.7810 | 0.8125 | 0.8772 | 0.9035 |
从这个综合表格中可以看出,Light GBM 分类器(LGB)在多个评估指标上表现出色,除了灵敏度方面 KNN 表现突出外,LGB 在 F1 分数、Cohen kappa、平衡准确率、MCC、精确率和特异度等方面都有较好的成绩。
mermaid 流程图展示综合评估中各模型表现对比:
graph LR
A[各模型] --> B[LGB 表现优]
A --> C[KNN 灵敏度高]
A --> D[其他模型各有特点]
4. 实际应用与展望
贫血是一种常见疾病,准确诊断是治疗的关键第一步。机器学习算法可以作为传统检查的替代方法,利用一组协变量帮助识别贫血。通过结合多个模型的投票分类器方法,能够在一定程度上提高诊断的准确性。
在实际应用中,当使用机器学习算法处理特定问题时,可能会因为模型性能不佳而失败。此时可以考虑使用“组合模型”的方法,如本研究中使用的基于 MCC 加权的硬投票和软投票分类器,将多个模型组合起来,以获得更好的结果。
然而,使用硬和软投票分类器对第二组模型加权并没有带来性能的全面提升。未来可以通过对模型进行超参数调整来进一步改善这些评估指标。
同时,本研究中使用的方法和策略具有一定的通用性,可以应用和扩展到同一研究领域的其他数据集,也可以用于研究除贫血之外的其他血液疾病。
总结来说,在贫血分类和健康数据不平衡处理中,机器学习提供了多种有效的方法和技术。通过合理选择模型和采样技术,以及对模型进行优化和调整,可以提高分类的准确性和模型的性能,为医疗诊断和研究提供有力的支持。
以下是对整个流程的总结列表:
1. 对于贫血分类,使用不同的模型和投票分类器进行评估,根据 MCC 确定投票分类器的权重。
2. 处理健康数据不平衡问题时,采用过采样和欠采样技术,根据具体情况选择合适的方法。
3. 综合评估各模型和投票分类器的性能,发现 LGB 表现出色,KNN 在灵敏度方面突出。
4. 在实际应用中,可通过组合模型和超参数调整来提高模型性能,该方法可扩展到其他数据集和疾病研究。
机器学习在贫血分类中的应用
超级会员免费看
50

被折叠的 条评论
为什么被折叠?



