本研究探讨了四种机器学习算法在甲状腺功能减退症前瞻性诊断中的应用:K近邻算法(KNN)、支持向量机(SVM)、极端梯度提升(XGBoost)以及软投票集成分类器。这些算法基于系统的文献综述筛选得出,并应用于一组在沙特阿拉伯本地收集的数据集。
需要JoVE订阅才能观看此内容。 请登录或开始免费试用
本研究探讨了四种机器学习算法在甲状腺功能减退症前瞻性诊断中的应用:K近邻算法(KNN)、支持向量机(SVM)、极端梯度提升(XGBoost)以及软投票集成分类器。这些算法基于系统的文献综述筛选得出,并应用于一组在沙特阿拉伯本地收集的数据集。
甲状腺功能减退症是沙特阿拉伯最常见但诊断不足的疾病之一,尤其在老年女性、孕妇以及糖尿病和睡眠呼吸暂停患者中更为普遍。甲状腺功能减退症的特征是甲状腺无法产生足够的甲状腺激素,若不及时治疗,可能导致其他慢性疾病。因此,本研究提出采用机器学习技术,利用来自沙特阿拉伯的简单临床数据集对这种疾病进行早期诊断。鉴于数据规模有限,本研究主要作为概念验证。研究选用了KNN、SVM、梯度提升以及软投票集成分类器等算法,因其在甲状腺功能减退症及相关疾病的主动诊断方面相比其他算法表现出更优性能。其中表现最佳的模型是软投票集成分类器,准确率达到94.7%;SVM、KNN和XGBoost的准确率分别为94%、93.42%和92.1%。这些结果通过10折交叉验证和前向序列特征选择方法获得。
甲状腺功能障碍(TD)是最常见的慢性内分泌疾病之一,在不同人群中患病率各异1。最常见的两种甲状腺疾病为甲状腺功能减退症和甲状腺功能亢进症。甲状腺功能减退症是一种由于甲状腺激素生成不足引起的常见疾病。尽管该病通常可通过治疗得到控制,但在严重情况下若未及时处理,可能危及生命。成人甲状腺功能减退症最常见的症状包括疲劳、便秘、嗜睡、体重增加、皮肤干燥以及声音改变。然而,其临床表现可能因年龄、性别及其他因素而有所不同3。据报道,该疾病影响约5%的普通人群,另有5%的患者未被诊断,其中99%为原发性甲状腺功能减退症。在阿拉伯海湾国家,该病较为普遍,但常被漏诊4。在沙特阿拉伯,先天性甲状腺功能减退症大约每3,450名新生儿中就有1例。其他仅针对女性的横断面研究报道的患病率更高,范围在13%至35%之间5。此外,这些研究进一步证明女性比男性更易感6。若甲状腺功能减退症未得到治疗,可能导致血脂异常、认知功能障碍、高血压、不孕以及神经肌肉功能障碍7。因此,本研究旨在利用来自沙特阿拉伯达曼国王法赫德专科医院(KFUH)的数据集,采用机器学习方法对甲状腺功能减退症进行主动诊断。
甲状腺功能减退症可能难以诊断,因为其症状常被误认为是其他疾病的症状8。此外,甲状腺功能减退症的延迟诊断可能对患者的智力能力产生负面影响9。促甲状腺激素(TSH)检测是用于诊断甲状腺功能减退症最常用的方法9。然而,随着人工智能和机器学习方法、策略及工具的出现,已在多个医学领域帮助解决了诊断和预后方面的问题。机器学习被用于评估临床因素及其组合在预后中的重要性,例如预测疾病进展、提取用于结局研究的医学知识、治疗规划与支持,以及整体患者护理10。随着大量医学数据的可获得性,医疗从业者如今拥有了宝贵的资源,可通过机器学习发现新的、潜在有价值的医学知识11,12。
本研究利用来自沙特数据集的一个简单临床数据集,旨在协助该国医护人员早期诊断甲状腺功能减退症,并将这一预测系统应用于计算机资源和设备有限的医院。此外,该领域先前的研究尚未使用沙特数据集,这为结合沙特数据集与以往研究提供了机会。已有研究分别采用沙特数据集对肾病、糖尿病、甲状腺疾病和阿尔茨海默病进行预测,均取得了较高的准确性13,14,15。这一经验激励我们将这些方法应用于沙特阿拉伯其他疾病的预测。这些研究属于医学领域中机器学习与人工智能方向的最新成果16,17,18,19。
本研究探讨在沙特阿拉伯一个简单的甲状腺功能减退症临床数据集上应用机器学习技术,以在疾病完全出现症状之前预测其发生。目标是开发一种基于机器学习的系统,对甲状腺功能减退症的潜在发病提供早期预警。该系统还将便于设备有限的本地医院使用这一诊断工具。本研究是首次利用沙特数据集针对该疾病在症状出现前阶段开展的分析。该数据集涵盖了沙特本地医院广泛年龄范围的大量患者群体,包含甲状腺功能亢进症的阳性与阴性病例。
本研究采用了四种机器学习算法:支持向量机(SVM)、K近邻算法(KNN)、极端梯度提升(XGBoost),以及由SVM和KNN组成的软投票集成分类器。这四种算法均已在医学领域展现出其有效性。KNN算法因其简洁性而被选用,并在糖尿病(DM)的早期诊断中实现了77.5%的测试准确率20。同时,SVM因其鲁棒性而被选中21,并已被用于预测新冠肺炎(COVID-19)患者的死亡风险22。此外,XGBoost因其优异的性能被选用23,在高血压结局预测中达到了94%的准确预测分数,同时采用堆叠(stacking)方法以提升表现最佳算法的结果。 此外,投票集成分类器已被用于甲状腺疾病识别,并实现了100%的准确率24。
本研究的主要目标是利用原始的常规临床数据和先进的机器学习算法,在沙特人群中实现甲状腺功能减退症的早期诊断。研究中采用的四种技术均基于Python编程语言,在Jupyter平台上实现,并使用了甲状腺功能减退症数据集。通过采用10折交叉验证并结合超参数调优以提升模型性能。随后实施了基于前向选择法的序列特征选择,结果表明,投票集成分类器达到了最高的准确率,为94.7%。支持向量机(SVM)、K近邻(KNN)和XGBoost的准确率依次略低。在召回率方面,软投票集成分类器取得了最高分,达到95.5%。总体而言,本研究中在所有评估的性能指标上均表现最优的模型是软投票集成分类器,其在各项指标上均取得最高分。
已有若干研究针对甲状腺疾病的总体诊断,以及将技术(尤其是机器学习)作为计算机辅助解决方案的应用展开。研究人员采用拉曼光谱技术,结合LSTM-CNN、AlexNet、调整后的GoogLeNet、IndRNN–CNN和调整后的ResNet深度学习模型,用于区分来自32名甲状腺功能减退患者、38名甲状腺功能亢进患者以及29名对照个体的血清样本。这些模型分别达到84%、91%、75%、82%和71%的准确率25。
支持向量机(SVM)、K近邻(KNN)、逻辑回归和随机森林等机器学习算法已被用于预测鼻咽癌患者放射性甲状腺功能减退的发生率26。该模型的AUC值达到0.7。此外,作者还采用多种机器学习算法来预测接受左旋甲状腺素(LT4)治疗的甲状腺功能减退患者的治疗趋势。在10种分类器中,极限树分类器的准确率最高,达到84%。
在另一项研究中,作者创建并测试了一种机器学习策略,用于识别那些需要立即接受治疗的甲状腺功能亢进和甲状腺功能减退患者27。他们采用了梯度提升决策树(GBDT)、支持向量机(SVM)、人工神经网络(ANN)和逻辑回归算法。其模型对甲状腺功能亢进和甲状腺功能减退的AUROC分别达到93.8%和90.9%。在另一项研究中,作者使用机器学习来检测包括甲状腺功能减退和甲状腺功能亢进在内的甲状腺疾病。他们的模型包括SVM、ANN、KNN、逻辑回归和决策树,其中逻辑回归取得了最高的准确率,为96.92%28。最近,一组研究人员应用了多种方法,包括SVM、决策树、朴素贝叶斯和集成方法,用于预测和检测甲状腺功能减退。决策树取得了最高的准确率,达到97.6%29。另一项研究采用基于核函数的混合微分进化朴素贝叶斯算法,将甲状腺功能亢进和甲状腺功能减退疾病的甲状腺数据集属性从21个减少到10个。随后,他们将基于核函数的朴素贝叶斯分类器应用于该特征子集,实现了97.97%的准确率30。同样,在另一项研究中,作者使用多种机器学习算法,在加州大学提供的病态甲状腺正常状态数据集上预测甲状腺疾病风险。实验结果表明,人工神经网络(ANN)优于其他所有方法,准确率达到95%31。此外,Jha 等人采用基于深度神经网络的特征增强技术来预测甲状腺疾病,取得了高达99.95%的卓越准确率32。
根据以往文献,采用包含多种属性选择的同质投票集成方法来识别甲状腺疾病,所使用的算法包括:随机森林、梯度提升、决策树和逻辑回归,获得了100%的准确率24。此外,作者将极限学习机模型应用于Kaggle平台上的甲状腺功能减退公开数据集,准确率达到92%。该数据集包含3772个样本:其中3481例为甲状腺功能减退,其余为阴性33。最近,一项研究中作者采用装袋CART(bagged CART)方法对甲状腺功能减退进行分类,所提出的模型取得了高达99.9%的准确率。此外,T4U、TSH和TBG被确定为与甲状腺功能减退最相关的显著因素34。在另一项研究中,作者提出并比较了多种机器学习与深度学习模型,其中决策树和随机森林的准确率分别达到99.5%和99.3%。他们使用了一个包含30个属性和3772个样本的Weka数据集35。
本篇简要的文献综述表明,尽管现有大多数方法取得了从良好到极佳的效果,但尚未有研究利用来自沙特阿拉伯的简单临床数据集。此外还注意到,所考虑的多数出版物采用了影像学数据集,这增加了数据收集的工作量,并提高了非技术人员应用所构建的复杂模型的难度。 Furthermore,这些研究大多针对一般性甲状腺疾病,极少有文献专门关注甲状腺功能减退症。这一现状为利用沙特临床数据集探索基础机器学习模型提供了机会,有助于计算机设备有限的本地医院对疾病进行早期诊断。
本研究中所探讨的算法简要介绍见补充文件1。四种算法分别为K近邻(KNN)36,37,38,39,40、支持向量机(SVM)41,42,43,44,45、极端梯度提升(XGBoost)46,47,48和投票集成算法49,50。
访问受限。请登录或开始试用以查看此内容。
1. 方法
注意:如材料表所述,本研究的实验在 Jupyter Notebook 中使用 Python 进行,用于开发甲状腺功能减退症的预诊断机器学习模型。数据预处理阶段使用了 Microsoft Excel 和 Python 的 Scikit-Learn 库。随后采用 K 最近邻(KNN)、支持向量机(SVM)、极端梯度提升(XGBoost)以及由 KNN 和 SVM 组成的软投票集成分类器对数据集进行训练,并通过 GridSearchCV 和 10 折交叉验证获取最优超参数。此外,还利用排列重要性(permutation importance)绘制了每种分类器的特征重要性图。

图1: 实验框架。 这是本研究的实验框架。请点击此处查看该图的放大版本。
注意:甲状腺功能减退症的沙特数据集来自沙特阿拉伯达曼市的法赫德国王专科医院(KFSH)。该医院是一所隶属于伊玛目阿卜杜勒·拉赫曼·本·费萨尔大学(前身为达曼大学)的公立医院。达曼位于东部省,大多数患者来自同一地区。在机构审查委员会(IRB)批准后,该数据集在医院常规分诊程序和试验过程中收集,并作为患者健康记录(PHRs)录入医院管理系统,登记时间为2020年至2021年。该数据集包含152名患者(100名女性和52名男性)的标准临床检测结果,年龄范围为11至92岁,其中89名被确诊为甲状腺功能减退症。相比之下,其余63名患者未被诊断为甲状腺功能减退症,但患有其他疾病,如阿尔茨海默病。该数据集最初包含483个属性,在预处理阶段通过剔除缺失值超过30%的属性,最终将属性数量减少至18个。表1列出了本研究中所使用的特征。
| 特点 | 描述 |
| 年龄 | 年龄(岁)。 |
| 性别 | 男性或女性。 |
| 白细胞(WBC) | 白细胞计数 |
| 温度 | 以摄氏度(˚C)为单位的体温。 |
| 红细胞(RBC) | 红细胞计数 |
| 血小板 | 血小板计数 |
| 平均血小板体积 | 平均血小板体积 |
| 脉搏血氧饱和度 | 血液中氧气含量的测量(氧饱和度)。 |
| MCH | 平均红细胞血红蛋白量 |
| RDW | 红细胞分布宽度 |
| MCV | 平均红细胞体积 |
| MCHC | 平均红细胞血红蛋白浓度 |
| 脉冲 | 心率 |
| 红细胞压积 | 红细胞体积 |
| 收缩压 | 最高的血压。 |
| 血红蛋白 | 血液中的血红蛋白水平。 |
| 舒张压 – 舒张期 | 最低压力 |
| 呼吸频率 | 每分钟呼吸频率 |
表1:数据集描述。 本表展示了描述性数据集。
2. 统计学分析
注意:对数据集进行统计分析有助于可视化和理解数据集的模式,从而更好地进行数据预处理和建模。表2展示了甲状腺功能减退症疾病数据集的统计分析结果,比较了HT组与非HT组之间的结果。
| 变量 | 甲状腺功能减退症 (n = 89) | 非甲状腺功能减退症 (n = 63) | t / U 值 | P 值 |
| 年龄 | 43.00 (33.00, 54.00) | 76.00 (70.00, 80.50) | 5.388 | < 0.001 |
| 呼吸频率 | 20.00 (20.00, 20.00) | 20.00 (20.00, 21.50) | 2.561 | 0.004 |
| 血压 – 收缩压 | 117.72 ± 16.46 | 127.85 ± 17.77 | 3.302 | 0.001 |
| 血压 – 舒张压 | 73.00 (68.00, 79.00) | 72.95 (65.00, 80.25) | 2.076 | 0.892 |
| 脉搏 | 79.09 ± 12.19 | 82.35 ± 12.72 | 1.47 | 0.145 |
| 体温 | 36.60 (36.50, 36.80) | 36.70 (36.60, 36.90) | 2.576 | 0.029 |
| 脉搏血氧饱和度 | 99.00 (99.00, 100.00) | 99.00 (98.00, 99.00) | 1.088 | 0.005 |
| 血细胞比容 | 38.20 (35.88, 40.23) | 37.30 (31.30, 41.30) | 1.471 | 0.318 |
| 红细胞计数 | 4.52 (4.26, 4.81) | 4.37 (3.81, 4.89) | 1.36 | 0.104 |
| 血红蛋白 | 12.70 (11.70, 13.53) | 12.30 (10.00, 13.85) | 1.481 | 0.345 |
| 红细胞分布宽度 (RDW) | 13.80 (13.38, 14.93) | 14.90 (13.80, 16.45) | 2.212 | 0.002 |
| 平均红细胞体积 (MCV) | 83.54 ± 6.85 | 85.05 ± 8.53 | 1.042 | 0.3 |
| 血小板计数 | 261.23 ± 63.97 | 223.62 ± 68.88 | −2.945 | 0.004 |
| 平均红细胞血红蛋白浓度 (MCHC) | 33.60 (32.80, 34.02) | 33.20 (32.30, 34.00) | 1.314 | 0.06 |
| 平均红细胞血红蛋白量 (MCH) | 28.00 (26.55, 29.57) | 28.10 (26.55, 30.20) | 1.78 | 0.468 |
| 平均血小板体积 (MPV) | 8.81 ± 0.87 | 8.79 ± 1.38 | −0.074 | 0.941 |
| 白细胞计数 | 6.10 (4.80, 7.43) | 7.20 (5.70, 8.90) | 2.075 | 0.017 |
表2:特征的统计分析。 本表展示了HT组与非HT组特征的统计分析结果。缩写:HT = 甲状腺功能减退症。
注意:在表2中,高血压组(HT)与非高血压组(非HT)在年龄、呼吸频率、收缩压、体温、脉搏血氧饱和度、红细胞分布宽度(RDW)、血小板计数和白细胞计数方面存在显著差异。因此,生理学特征可能可用于区分这两组。
3. 数据预处理
4. 模型构建与评估
注意:交叉验证的数据划分:经过不同折数的多次实验后,发现 10 折交叉验证效果最佳,因此后续采用该方法。
(1)
(2)
(3)
(4)
(5)| 算法 | 超参数名称 | 超参数范围 | 最佳值 | 使用最佳值时的准确率 |
| K-近邻 (K-NN) | 距离度量 (Metric) | ‘minkowski’、’manhattan’、’euclidean’ | minkowski | 84.21% |
| 近邻数 (N_neighbors) | 3, 5, 7, 9, 11, 13 | 5 | ||
| 支持向量机 (SVM) | 核函数 (Kernel) | ‘linear’、‘poly’、’rbf’、‘sigmoid’ | linear | 92.76% |
| 惩罚系数 (Cost, C) | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100 | 9 | ||
| 核函数系数 (Gamma) | 1, 0.1, 0.01, 0.001, 0.0001 | 1 | ||
| XGBoost | 弱学习器数量 (N_estimators) | 5,01,00,15,02,00,250 | 200 | 89.47% |
表3:最优超参数。 本表展示了各模型的最优超参数。
图2–4展示了针对KNN、SVM和XGBoost方法的超参数搜索的网格搜索策略,以及如何利用所有特征进行实现。

图 2:KNN 模型性能。 本图展示了 KNN 模型在不同距离度量方式和不同邻居数量下的性能表现。缩写:KNN = K 最近邻。 请点击此处查看该图的放大版本。

图 3: SVM 性能。 此图为支持向量机(SVM)在不同核函数与代价函数取值下的性能表现请点击此处查看该图的放大版本。

图 4:XGBoost 性能。 本图展示了不同提升器(Booster)和决策树数量(N_estimator)取值下的 XGBoost 模型性能。缩写:XGBoost = 极端梯度提升(Extreme gradient boosting)。 请点击此处查看该图的放大版本。
| 算法 | 分类器 | 超参数 | 准确率 | |
| 软投票分类器 | K-近邻 | 度量方式 | Minkowski | |
| N_neighbors | 5 | |||
| SVM1 | 核函数 | linear | ||
| 代价 (C) | 9 | 88.81% | ||
| Gamma | 1 | |||
| SVM2 | 核函数 | rbf | ||
| 代价 (C) | 9 | |||
| Gamma | 1 | |||
表4:投票分类器超参数。 本表展示了投票分类器的组合方式及其超参数。
访问受限。请登录或开始试用以查看此内容。
模型性能
本研究构建的四个模型在准确性、召回率和测试方面进行了比较和分析。采用 GridsearchCV 算法利用所有特征为每个模型确定最优超参数。每个模型的性能通过分层 10 折交叉验证进行评估。表 5 展示了各模型性能的结果。
| 分类器 | 准确率 | 召回率 | 精确率 | F1分数 | 对数损失 |
| K-近邻 | 84.2... |
访问受限。请登录或开始试用以查看此内容。
本研究基于沙特阿拉伯的临床数据集,探讨了机器学习算法在开发甲状腺功能减退症早期诊断模型中的应用。共构建了四种模型:KNN、SVM、XGBoost 和软投票集成分类器。所有四个模型均识别出年龄和呼吸频率是该疾病早期诊断的重要指标。在四种模型中,投票分类器在本研究使用的所有评估指标上均表现出最优性能。该模型仅使用五个特征,即达到了94.73%的准确率,同时召回率、精确率和F1分数均达到95.50%。紧随其后的是SVM模型,其准确率低0.66%,使用了六个特征。SVM和KNN的召回率相同,均为94.38%,比投票分类器低1.12%。KNN在甲状腺功能减退症的早期诊断中排名第三,准确率为93.42%。尽管XGBoost在准确率和精确率方面表现最差,但其召回率与投票分类器相同。综上所述,本研究结果支持基于集成学习的方法——特别是软投票分类器——作为甲状腺功能减退症早期检测的一种有效且具有生物学意义的工具。
以往一些研究在预测甲状腺功能减退症时取得了接近完美的准确率(例如,>96%),这些研究通常使用大规模的成熟数据集,或纳入了专门的甲状腺功能检测指标(如T3、T4、TSH水平)以及影...
访问受限。请登录或开始试用以查看此内容。
该数据集已通过 IRB-2020-09-429 伦理审查批准从医院获取。作者声明本研究无任何利益冲突。
作者谨此感谢医疗专业人员对本研究结果验证所提供的支持。
访问受限。请登录或开始试用以查看此内容。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| 笔记本电脑/设备 | Dell | XPS9320 | 内存 16GB,第12代 Intel(R) Core(TM) i7-1260P |
| Excel 365 | Microsoft | Excel 365 | 用于以 csv 格式存储原始数据 |
| Python 3.12.12 | Google colab Notebook | Python 3.12.12 | 用于模型构建与训练 |
| Numpy 2.0.2 | Google colab Notebook | Numpy 2.0.2 | 用于模型构建与训练 |
| Pandas 2.2.2 | Google colab Notebook | Pandas 2.2.2 | 用于模型构建与训练 |
| Sklearn 1.6.1 | Google colab Notebook | Sklearn 1.6.1 | 用于模型构建与训练 |
| Mlxtend 0.23.4 | Google colab Notebook | Mlxtend 0.23.4 | 用于模型构建与训练 |
| XGbbost 3.1.2 | Google colab Notebook | XGbbost 3.1.2 | 用于模型构建与训练 |
| SPSS | IBM, USA | Sklearn 1.6.1 | 用于统计分析 |
访问受限。请登录或开始试用以查看此内容。