基于机器学习算法预测 IVF 成功率
1. IVF 治疗概述
体外受精(IVF)为多种生育问题提供了解决方案:
- 低卵巢储备患者:为年龄较大且卵巢储备低的患者提供生育机会。
- 男性不育夫妇:相比自然受孕,通过 IVF 受孕的可能性更高。
- 多囊卵巢综合征(PCOD)患者:对于因激素失衡导致月经周期不规律,且无法通过促排卵受孕的患者,IVF 效果显著。
- 子宫内膜异位症患者:IVF 对子宫内膜异位症患者有效,这类患者的部分子宫内膜会生长在子宫外部。
- 卵巢早衰患者:为卵巢早衰或绝经女性提供供卵。
然而,由于成功率较低、成本高和其他副作用等原因,仅有 5% 的不育夫妇会选择 IVF。因此,预测 IVF 成功率对于夫妇决定是否接受治疗至关重要。
2. 相关研究现状
在医学研究中,数字图像处理在疾病诊断中发挥着重要作用,而近年来机器学习算法也被用于基于医疗历史数据预测疾病状态。以下是一些相关研究:
|研究人员|研究内容|
| ---- | ---- |
|Hassan Rafiul 等|提出一种算法,通过爬山法进行特征选择的自动分类,使用五种机器学习算法分析 25 个属性,预测 IVF 治疗的妊娠成功率,并使用准确率、F - 度量和曲线下面积(AUC)计算性能。|
|Nidhin Raju 等|利用深度学习算法,通过分析高分辨率计算机断层扫描(HRCT)图像,对 17 种不同类型的间质性肺病(ILD)进行多标签分类,使用 SmallerVGGNet 卷积神经网络架构获取图像特征,平均准确率达 95%。|
|Khosravi Pegah 等|提出一种 AI 方法,利用深度神经网络(DNNs)对约 50,000 张训练胚胎图像进行分析,开发了名为 STORK 的框架,通过 AUC 评估胚泡质量,其性能优于离散胚胎学家,并创建决策树确定妊娠可能性与年龄的关系。|
|Guvenir H. 等|开发了基于 RIMARC 排名算法的 Success Estimation Using a Ranking Algorithm(SERA),用于计算 IVF 过程的成功率,并与朴素贝叶斯分类器和随机森林进行比较,确定影响 IVF 结果的属性及其值。|
|Bidgoli 等|使用遗传算法和人工神经网络对精液样本进行分类,采用自助法解决数据集不平衡问题,预测精液质量的优化多层感知器(MLP)算法的准确性取决于患者的生活方式和健康状况。|
|J.L.Girela 等|使用 MLP 分析生活方式与精液质量的关系,研究精子浓度和活力等参数,确定影响这些参数的因素。|
|Durairaj M. 等|使用数据挖掘技术确定影响 IVF 成功率的重要测试,通过监督算法进行预处理,使用特征选择算法选择重要参数。|
|David Gi 等|使用决策树(DT)、MLP 和支持向量机(SVM)三种分类方法分析精液样本质量估计的准确性。|
|Uyar Asli 等|提出一种智能系统,通过基于 SVM 的分类方法,使用过去数据训练模型,以新胚胎的结果确定妊娠成功率,胚胎用 17 个特征表示,预测准确率达 82.7%。|
从这些研究可以看出,数据挖掘技术和 AI 方法可以帮助夫妇决定是否进行 IVF 治疗。因此,我们将构建机器学习模型,使用 k 近邻(kNN)、朴素贝叶斯(NB)、决策树(DT)、随机森林(RF)和神经网络算法来估计 IVF 过程的成功状态。
3. 机器学习分类算法研究
3.1 模型架构
本研究采用 kNN、朴素贝叶斯、决策树、随机森林和神经网络等分类方法分析数据,并使用最佳分类器构建模型。以下是模型的算法步骤:
1.
数据收集
:收集用于分析的数据。
2.
数据预处理
:使用合成少数过采样技术(SMOTE)平衡数据集中的类别标签。
3.
数据划分
:使用交叉验证方法将数据集划分为训练数据和测试数据。
4.
模型训练
:应用机器学习分类器 kNN、朴素贝叶斯、决策树、随机森林和神经网络对数据进行训练。
5.
模型测试
:
- 计算评估结果,包括 AUC、准确率、F1 分数、召回率和精确率。
- 生成混淆矩阵,总结正确和错误的预测。
- 根据评估结果和混淆矩阵选择合适的分类器。
6.
模型构建
:使用步骤 5 中确定的分类器构建模型。
7.
数据预测
:使用构建的模型进行数据预测。
3.2 数据集
使用 UCI 机器学习库中的生育数据集,该数据集包含 100 名年龄在 18 - 36 岁男性患者的精液样本不育细节,包含 10 个特征,与社会、人口、自然特征、健康状况和生活行为相关。其中 5 个属性为数值型,5 个属性为分类型。具体属性如下表所示:
|属性|类型|值|
| ---- | ---- | ---- |
|季节|数值型|冬季(-1)、春季(-0.33)、夏季(0.33)、秋季(1)|
|年龄|数值型|18 - 36(0 - 1)|
|童年疾病(如水痘、麻疹、腮腺炎、小儿麻痹症)|分类型|是(0)、否(1)|
|事故或严重伤害|分类型|是(0)、否(1)|
|是否进行过手术|分类型|是(0)、否(1)|
|前一年的高温情况|数值型|三个月内(-1)、三个月前(0)、无发烧(1)|
|饮酒情况|数值型|每天多次(0)、每天(0.2)、每周多次(0.6)、每周一次(0.8)、从不(1)|
|吸烟习惯|分类型|从不(-1)、偶尔(0)、每天(1)|
|每天久坐时间|数值型|0 - 1|
|诊断状态(输出)|分类型|正常(N)、异常(O)|
3.3 数据预处理
虽然该数据集没有缺失或错误值,但类别标签不平衡,“异常(O)”类别的样本数量远低于“正常(N)”类别。这种不平衡会导致机器学习算法偏向多数类数据,产生有偏差和错误的结果。
为了解决这个问题,采用重采样方法。重采样方法分为随机欠采样、随机过采样和混合方法。随机欠采样可能会丢弃有用数据,随机过采样可能会导致过拟合。因此,使用 SMOTE 方法,它通过添加现有少数类样本生成新的少数类样本,平衡数据集。应用 SMOTE 后,数据集变为平衡数据集,每个类别有 176 个样本,而原始数据集“正常(N)”有 88 个实例,“异常(O)”有 12 个实例。
3.4 机器学习分类器
- kNN :一种有监督且易于理解的机器学习方法,可解决分类和回归问题。基于相似度度量(如欧几里得距离)工作,k 值表示最相似实例或邻居的数量,通过运行不同 k 值的数据集并根据准确率选择合适的 k 值。
- 朴素贝叶斯 :可用于分类二进制和多类分类输入值,属于贝叶斯决策理论。计算每个假设的概率简单,分类器结构包含一个父节点和多个子节点,父节点为类别特征,子节点为样本的其他特征。
- 决策树 :广泛用于构建模型,可用于分类和回归。是一种树状结构,根据最重要的特征将样本划分为不同的集合,通过决策规则确定输出特征的值。树的根节点为最顶层节点,内部节点表示输入特征的测试用例,叶节点表示决策结果。
- 随机森林 :用于分类,也支持回归。是一种简单且常用的算法,即使不进行超参数调整也能取得较好结果。通过创建一组决策树并使用装袋法训练数据,构建决策树时会搜索并选择数据集的最佳特征和随机特征子集。
- 神经网络 :受大脑神经元架构启发的机器学习算法。近年来广泛应用于分类、聚类和预测等领域。其架构包含多个独立的层,每层有任意数量的节点(偏置节点),节点和边有权重,可控制信号强度。通过训练和调整矩阵、节点和边的权重来预测未来数据。
3.5 训练和验证
使用 k 折交叉验证统计技术评估机器学习模型的性能。将数据集划分为 k 折,使用 k - 1 折进行训练,剩余 1 折进行验证。在本研究中,将 176 个实例的数据集划分为 10 个大小相等的折,采用分层 k 折交叉验证确保每个类别(正常(N)和异常(O))的比例在整个数据集中相似,重复该过程 10 次,每次使用不同的测试数据。
3.6 性能分析
在本研究中,首先使用 SMOTE 重采样技术平衡数据集的类别标签,然后使用 k 折交叉验证方案(k = 10)和机器学习算法(kNN、朴素贝叶斯、决策树、随机森林和神经网络)训练模型,根据男性生育因素将精液质量分类为正常(N)或异常(O)。使用以下评估指标比较模型性能:
-
混淆矩阵
:用于分类男性精液质量为正常(N)或异常(O),描述了使用二进制分类器正确或错误分类的实例数量。
|预测结果\实际结果|正常(N)|异常(O)|
| ---- | ---- | ---- |
|正常(N)|TP|FP|
|异常(O)|FN|TN|
- TP:真正例,分类器预测精液质量为正常(N),实际输出也为正常(N)。
- FP:假正例,分类器预测精液质量为异常(O),实际输出为正常(N)。
- FN:假反例,分类器预测精液质量为正常(N),实际输出为异常(O)。
- TN:真反例,分类器预测精液质量为异常(O),实际输出也为异常(O)。
不同分类器的混淆矩阵如下表所示:
|实际\分类器|kNN|Naive Bayes|Tree|Random Forest|Neural Network|
| ---- | ---- | ---- | ---- | ---- | ---- |
|预测|N|O|∑|N|O|∑|N|O|∑|N|O|∑|N|O|∑|
|N|70|18|88|87|1|88|85|3|88|88|0|88|86|2|88|
|O|0|88|88|13|75|88|5|83|88|1|87|88|0|88|88|
|∑|70|106|176|100|76|176|90|86|176|89|87|176|86|90|176|
- AUC(ROC 曲线下面积) :ROC 曲线绘制在真正例(TP)值和假正例(FP)值之间,通过改变阈值从 0 到 1,绘制 FP 值和 TP 值在 x 轴和 y 轴上的变化,AUC 值接近 1 表示分类器性能良好,值为 0 表示性能差,可用于计算所有分类模型的总体性能。
- 准确率 :正确预测的总数与样本总数的比例。公式为:$Accuracy = \frac{TP + TN}{TP + TN + FP + FN}$
- 召回率 :正确预测为正常的精液质量与正常精液样本总数的比例。公式为:$Recall = \frac{TP}{TP + FN}$
- 精确率 :正确预测为正常的精液质量与预测为正常的样本总数的比例。公式为:$Precision = \frac{TP}{TP + FP}$
- F1 分数 :召回率和精确率的调和平均值。公式为:$F1 = \frac{2 \times Precision \times Recall}{Precision + Recall}$
通过这些评估指标,可以选择性能最佳的分类器来构建预测 IVF 成功率的模型,为夫妇提供更准确的决策依据。
综上所述,通过对生育数据集的分析和机器学习算法的应用,我们可以更好地预测 IVF 治疗的成功率,帮助更多夫妇做出明智的生育决策。未来,随着数据的不断积累和算法的不断优化,预测的准确性有望进一步提高。
4. 各分类器性能对比分析
为了更直观地了解各分类器的性能,我们将根据上述评估指标对 kNN、朴素贝叶斯、决策树、随机森林和神经网络进行详细对比。
4.1 基于混淆矩阵的初步分析
从混淆矩阵的数据来看:
|分类器|真正例(TP)|假正例(FP)|假反例(FN)|真反例(TN)|
| ---- | ---- | ---- | ---- | ---- |
|kNN|70|18|0|88|
|Naive Bayes|87|1|13|75|
|Decision Tree|85|3|5|83|
|Random Forest|88|0|1|87|
|Neural Network|86|2|0|88|
- kNN :假正例相对较多,可能在区分正常和异常精液质量时存在一定误判,但真反例数量表现不错,说明对异常情况的识别有一定能力。
- 朴素贝叶斯 :真正例数量较高,但假反例也有一定数量,可能在某些情况下会将异常样本误判为正常。
- 决策树 :整体表现较为均衡,真正例和真反例数量都比较可观,误判情况相对较少。
- 随机森林 :表现出色,假正例和假反例数量都极低,能够较为准确地进行分类。
- 神经网络 :真正例和真反例数量都很高,且假正例和假反例很少,说明其分类能力很强。
4.2 各项评估指标对比
根据各项评估指标的计算公式,计算各分类器的具体指标值:
|分类器|AUC|准确率|召回率|精确率|F1 分数|
| ---- | ---- | ---- | ---- | ---- | ---- |
|kNN|待计算|$\frac{70 + 88}{70 + 88 + 18 + 0} \approx 0.89$|$\frac{70}{70 + 0} = 1$|$\frac{70}{70 + 18} \approx 0.79$|$\frac{2 \times 0.79 \times 1}{0.79 + 1} \approx 0.88$|
|Naive Bayes|待计算|$\frac{87 + 75}{87 + 75 + 1 + 13} \approx 0.91$|$\frac{87}{87 + 13} = 0.87$|$\frac{87}{87 + 1} \approx 0.99$|$\frac{2 \times 0.99 \times 0.87}{0.99 + 0.87} \approx 0.93$|
|Decision Tree|待计算|$\frac{85 + 83}{85 + 83 + 3 + 5} \approx 0.95$|$\frac{85}{85 + 5} = 0.94$|$\frac{85}{85 + 3} \approx 0.97$|$\frac{2 \times 0.97 \times 0.94}{0.97 + 0.94} \approx 0.95$|
|Random Forest|待计算|$\frac{88 + 87}{88 + 87 + 0 + 1} \approx 0.99$|$\frac{88}{88 + 1} \approx 0.99$|$\frac{88}{88 + 0} = 1$|$\frac{2 \times 1 \times 0.99}{1 + 0.99} \approx 0.99$|
|Neural Network|待计算|$\frac{86 + 88}{86 + 88 + 2 + 0} \approx 0.99$|$\frac{86}{86 + 0} = 1$|$\frac{86}{86 + 2} \approx 0.98$|$\frac{2 \times 0.98 \times 1}{0.98 + 1} \approx 0.99$|
从这些指标可以看出:
-
准确率方面
:随机森林和神经网络的准确率非常高,接近 0.99,说明它们在整体预测上的正确性很强。决策树的准确率也达到了 0.95,表现良好。kNN 和朴素贝叶斯的准确率相对较低,但也在 0.89 - 0.91 之间。
-
召回率方面
:kNN 和神经网络的召回率为 1,意味着它们能够完全识别出正常的精液样本。随机森林的召回率也接近 1,表现出色。朴素贝叶斯和决策树的召回率分别为 0.87 和 0.94。
-
精确率方面
:随机森林的精确率为 1,说明其预测为正常的样本几乎都是真正的正常样本。神经网络的精确率接近 0.98,也非常高。决策树和朴素贝叶斯的精确率分别为 0.97 和 0.99。
-
F1 分数方面
:随机森林和神经网络的 F1 分数接近 0.99,综合了召回率和精确率的优势,表现最佳。决策树的 F1 分数为 0.95,也较为优秀。kNN 和朴素贝叶斯的 F1 分数分别为 0.88 和 0.93。
4.3 总结与选择
综合各项评估指标,随机森林和神经网络在预测精液质量分类上表现最为出色,它们的准确率、召回率、精确率和 F1 分数都很高。决策树的性能也比较优秀,各项指标都较为均衡。kNN 和朴素贝叶斯虽然也能进行分类,但在某些指标上相对较弱。
因此,在构建预测 IVF 成功率的模型时,可以优先考虑随机森林或神经网络作为分类器,以获得更准确的预测结果。
5. 预测 IVF 成功率的流程总结
为了更清晰地展示整个预测 IVF 成功率的过程,我们可以用 mermaid 流程图来表示:
graph LR
A[数据收集] --> B[数据预处理]
B --> C[数据划分]
C --> D[模型训练]
D --> E[模型测试]
E --> F{选择分类器}
F -- 随机森林/神经网络 --> G[模型构建]
F -- 其他 --> D
G --> H[数据预测]
整个流程可以总结为以下步骤:
1.
数据收集
:收集包含男性生育因素的精液样本数据。
2.
数据预处理
:使用 SMOTE 方法平衡数据集中的类别标签,解决数据不平衡问题。
3.
数据划分
:采用交叉验证方法将数据集分为训练数据和测试数据。
4.
模型训练
:使用 kNN、朴素贝叶斯、决策树、随机森林和神经网络对训练数据进行训练。
5.
模型测试
:计算评估指标(AUC、准确率、召回率、精确率、F1 分数),生成混淆矩阵,根据结果评估各分类器性能。
6.
选择分类器
:根据评估结果,优先选择随机森林或神经网络作为最终的分类器。如果这两个分类器表现不佳,则返回模型训练步骤,尝试其他参数或方法。
7.
模型构建
:使用选定的分类器构建预测模型。
8.
数据预测
:使用构建好的模型对新数据进行预测,为夫妇提供 IVF 成功率的预测结果。
6. 实际应用与意义
通过上述基于机器学习算法的预测模型,在实际应用中可以为有生育需求的夫妇提供重要的参考依据。
- 帮助夫妇决策 :夫妇在考虑是否进行 IVF 治疗时,往往面临着诸多不确定性和担忧。预测模型可以根据男性的生育因素,较为准确地预测 IVF 治疗的成功率,让夫妇对治疗结果有更清晰的认识,从而更理性地做出决策。
- 提高治疗效率 :对于医生来说,预测模型可以帮助他们提前筛选出更有可能成功的患者,合理安排治疗资源,提高 IVF 治疗的整体效率。
- 推动医学研究 :该模型的建立和应用,也为生育医学领域的研究提供了新的思路和方法。通过不断分析和优化模型,可以深入了解影响 IVF 成功率的各种因素,为进一步提高治疗效果提供理论支持。
总之,基于机器学习算法预测 IVF 成功率具有重要的实际意义和应用价值,有望为解决生育问题带来新的突破。
超级会员免费看
2161

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



