用machine learning预测法洛四联症是否进行TAPE手术

surgery prediction

Posted by dewen on 2019-08-27

法洛四联症手术预测

单因素分析和多变量逻辑回归分析自变量相对因变量的显著性

变量是否纳入的标准为:单因素分析显著性<0.2 && 多变量逻辑回归分析显著性<0.2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
单因素分析显著性    多变量logistics回归显著性     是否纳入      特征
0.115 0.936 年龄-A
0.167 0.501 身高-B
0.183 0.586 体重-C
0.204 0.728 BSA-D
0.003 0.308 术前SPO2-E
0.010 0.022 1 RBC-F
0.001 0.092 1 HGB-G
0.042 0.837 HCT-H
0.996 0.013 MCV-I
0.473 0.902 1 MCH-J
0.748 0.998 1 MCHC-K
0.955 0.795 1 URIC-L
0.189 0.796 1 BUN-M
0.329 0.027 CREA-N
0.000 0.130 1 术前PV Vmax-O
0.000 0.455 术前挎瓣压差-P
0.000 0.816 mPA-Q
0.961 0.228 AO-R
0.007 0.541 LPA-S
0.039 0.074 1 RPA-T
0.453 0.192 有无PFO-U
0.428 0.467 冠脉异常-V
0.000 0.008 1 PA-W
0.000 0.029 1 PVA-X
0.853 0.021 AVA-Y
0.000 0.200 1 P/A-Z
0.000 0.209 P*P/A*A-AA
0.000 0.211 P/(P+A)-AB
0.000 0.715 PAAI-AC
0.006 0.777 LPA-AD
0.012 0.092 1 RPA-AE
0.000 0.309 Mcgoon-AF

因此,筛选出的变量分别为:F,G,J,K,L,M,O,T,W,X,Z,AE,共12个特征

Machine Learning模型分析

实验设置

一共233组数据,自变量(F,G,J,K,L,M,O,T,W,X,Z,AE)。我们按照4:1的比例将数据集分为训练集和测试集,进行5则cross-validation。实验重复50次,取平均值。

1
2
3
4
5
6
7
8
Model         Number of features       Accuracy       Sensitivity     Specificity         AUC
KNN 12 0.7344 0.3974 0.8741 0.7432
SVM 12 0.8241 0.4025 0.9997 0.9452
LR 12 0.8076 0.6123 0.8894 0.8748
RF 12 0.8793 0.6642 0.9688 0.9518
DTC 12 0.8828 0.7485 0.9398 0.8442
GBDT 12 0.8873 0.7303 0.9523 0.9470
XGBoost 12 0.8864 0.7380 0.9475 0.9364

由上表可知,Random Forest (RF), Support Vection Machine (SVM) and GBDT (Gradient Boosting Decision Tree)都有较好的AUC,其中随机森林(RF)模型的预测AUC最大,因此采用随机森林模型进行分析。

使用随机森林模型对特征的重要性进行排序,得到下表:

1
2
3
4
5
6
7
8
9
10
11
12
13
Variables         Important score
W 0.215438
X 0.203112
O 0.124807
M 0.095907
Z 0.079793
F 0.065979
G 0.063884
L 0.043462
K 0.041369
T 0.036088
J 0.021013
AE 0.009147

如果我们将重要性程度的阈值定为0.1,那么可以得到重要性最大的特征W,X,O。

之后我们用这3个特征建模,观察实验结果:

1
2
3
4
5
6
7
8
Model         Number of features       Accuracy       Sensitivity     Specificity         AUC
KNN 3 0.7980 0.5908 0.8900 0.8536
SVM 3 0.8093 0.5626 0.9190 0.8472
LR 3 0.7601 0.5162 0.8652 0.8517
RF 3 0.8835 0.7319 0.9493 0.9351
DTC 3 0.8848 0.7717 0.9350 0.8533
GBDT 3 0.8850 0.7500 0.9430 0.9246
XGBoost 3 0.7994 0.5705 0.8958 0.8768

结果显示,我们使用W,X,O这三个特征建模,随机森林模型可以达到AUC为0.9351。

  • W : PA
  • X : PVA
  • O : 术前PV Vmax

同时,我想实验一下在用逻辑回归分析的情况下,1.纳入W,X,O; 2.只纳入X,O;3.只纳入Z值,这三种情况哪一种预测模型更好。

可以看到,在PVA, PVmax的基础上加上PA可以进一步提高模型的精度