1.一种恶性肿瘤合并静脉血栓栓塞症风险预测方法,其特征在于,包括如下步骤:S100:采集疑似患有和患有恶性肿瘤合并静脉血栓栓塞症病人的信息,一个病人对应一个样本,对采集的信息进行预处理得到基础数据集,对基础数据集中的所有样本标注标签确定负样本和正样本;
S200:对S100得到的基础数据集进行双向联合重采样得到训练集,该训练集中负样本和正样本数量相同;
S300:对训练集中每个训练样本进行特征筛选,去掉冗余特征得到新训练样本,所有新训练样本构成新训练集;
S400:构建和训练StackingXgbMlp模型S410:所述StackingXgbMlp模型包括两层,第一层包括并联的一个XGBoost模型和一个MLP模型,第二层包括一个XGBoost模型,第一层中XGBoost模型和MLP模型输出作为第二层XGBoost模型的输入;
S420:初始化StackingXgbMlp模型参数,设定概率阈值;
S430:将新训练集中所有新样本同时输入第一层XGBoost模型和MLP模型中,对第一层XGBoost模型和MLP模型进行训练;
S440:当第一层XGBoost模型输出的新样本的预测概率值大于概率阈值时,则认为该新样本的预测标签为正样本,否则该新样本的预测标签为负样本;计算当前迭代次数中第一层XGBoost模型对所有新样本的预测准确率;
若MLP模型输出的新样本的预测概率值大于概率阈值时,则认为该新样本的预测标签为正样本,否则该新样本的预测标签为负样本;计算当前迭代次数中MLP模型对所有新样本的预测准确率;
若当前迭代次数中第一层XGBoost模型预测准确率与之前迭代次数中对应的预测准确率相比没有变化,同时MLP模型预测准确率与之前迭代次数中对应的预测准确率相比也没有变化时,则当前迭代次数中的第一层为训练好的第一层,将当前迭代次数中每个新样本对应的第一层XGBoost模型的输出和MLP模型的输出构成一个最新样本并执行下一步,所述最新样本的标签与其对应的新样本的标签一致;
若当前迭代次数中第一层XGBoost模型预测准确率与之前迭代次数中对应的预测准确率相比有变化或MLP模型预测准确率与之前迭代次数中对应的预测准确率相比有变化时,返回S430;
S450:将最新样本输入第二层XGBoost模型,对第二层XGBoost模型进行训练;
S460:若第二层XGBoost模型输出的最新样本的概率大于概率阈值时,则认为该最新样本的预测标签为正样本,否则该最新样本的预测标签为负样本;计算当前迭代次数中第二层XGBoost模型对所有最新样本的预测准确率;
若当前迭代次数中第二层XGBoost模型预测准确率与之前迭代次数中的预测准确率相比不再变化时,得到训练好的第二层,否则返回S450;
在第二层训练完成后得到训练好的StackingXgbMlp模型;
S500:对于一个未知是否患病的病人,将该病人的信息采用S100的方法进行预处理,再采用S300的方法进行特征筛选得到待预测样本,将该待预测样本输入训练好的StackingXgbMlp模型中,输出待预测样本患病的预测概率。
2.如权利要求1所述的恶性肿瘤合并静脉血栓栓塞症风险预测方法,其特征在于,所述S100中对采集的信息进行预处理的过程如下:
1)数据结构化,将获得疑似患有和患有静脉血栓栓塞症的恶性肿瘤病人的信息处理成Boolean类型的结构化数据;
2)缺失值处理,设定缺失率阈值,遍历所有病人的信息,对于某一类信息缺失率高于缺失率阈值,则删除该类信息,对于缺失率低于缺失率阈值信息,若某个病人的该类信息缺失,则采用该类信息的均值进行填充;
3)数据合并,数据结构化和缺失值处理后,按照病人的ID将病人的血检信息数据和病人临床基本信息数据对应合并起来,每个病人由一个向量来表示。
3.如权利要求1所述的恶性肿瘤合并静脉血栓栓塞症风险预测方法,其特征在于,所述S200中对基础数据集进行双向联合重采样得到训练集的过程如下:N
所述基础数据集中包括N个少数类样本构成的少数样本集X和M个多数类样本构成的多M
数样本集X;
S210:对于N个少数类样本采用进行过采样,具体如下:N
S211:从X 中选择少数类样本xi的k个近邻样本,计算xi与N个少数类样本的欧式距离,欧式距离的值由大到小排序,排在前k位的即为xi的k个近邻样本记为xi(1)....xi(k),其中i∈{1,...,N};
S212:随机选择一个近邻样本xi(r)合成一个新样本xnew=xi+R*(xi(r)‑xi),其中R是0到1之间的随机数;
S213:将S230重复T次,得到T个新样本xnew,xnew∈{1,...,T};
S214:重复N次步骤S211‑S213,即在所有N个少数类样本上进行操作,得到N×T个新样本,N×T个新样本构成新少数类样本集;
S220:对于M个多数类样本采用进行欠采样,具体如下:M
S221:从X 中选择多数类样本xj的k个近邻样本,计算xj与M个样本的欧式距离,欧式距离的值由大到小排序,排在前k位的即为xj的k个近邻样本记为xj(1)....xj(k),其中j∈{1,...,k};
S222:选出与第r个近邻样本欧式距离最小的样本,用该样本的标签标注第r个近邻样本,r=1,2...k;
M
S223:删除X中与大部分样本标签不一样的样本,剩下的样本作为新多数类样集;
所述新少数类样本集合新多数类样集构成训练集。
4.如权利要求1所述的恶性肿瘤合并静脉血栓栓塞症风险预测方法,其特征在于,所述S300中对训练集中每个训练样本进行特征筛选的过程如下:使用XGBoost衡量训练集中每个特征的重要程度,定义三个衡量指标;
特征分裂次数Weight:
Weight=|X| (1)特征平均增益值Gain:
特征平均覆盖率Cover:
其中X是对应特征分类到XGBoost中叶子节点的集合;Weight是XGBoost所有树中,对应特征被用来分裂节点的次数;gainx是X中每个叶子节点在分割时的增益值;∑coverx是X中落在每个节点的样本个数;
FScore表示三个衡量指标的平均值,计算方式如下:计算将训练集中每个特征的FScore,并按照FScore值的大小进行排序,保留前Q个特征。
5.如权利要求1所述的恶性肿瘤合并静脉血栓栓塞症风险预测方法,其特征在于,所述XGBoost模型每次迭代的时候都会增加一棵树模型,则迭代K次的线性组合为:式(5)中,F表示所有树的集合,fk(xi)表示第i个样本在第k棵树上被分类到叶子节点的权重;
MLP模型中每一层的处理公式为:式(6)中,为第l层第n个神经元的输出; 为第l‑1层第k个神经元的输出; 为第l‑
1层第k个神经元与l层第n个神经元连接的权值;为l层第n个神经元的偏置;f(·)为神经元的激活函数。