20190122
部分病例的分化程度、分型信息缺失 Done
PET 的 101 108 113三个病例的影像有问题 和其他病人的影像都不一样 Done
CT 的 88 173 两个病例,原图像和分割不匹配 Done
101号病例的部位是1+2+4,但是影像上只标了一个 Done
20190123
42号病例,SE2图像和分割不匹配 Done
20190124
准备优化数据的形式,利用DataFrameMapper
已经利用imbalance_learn,应对类别不平衡问题:SMOTE。使用SMOTE后,过拟合仍严重。
3-4个特征就能在训练集上达到0.9以上的AUC,而测试集只有0.5,不知道为什么感觉大部分时候在0.5以下
今天的收获:
1.如果过拟合的话,在特征初筛的时候,尽量不使用有监督的初筛(如u检验、mrmr),使用有监督的特征选择时交叉验证。
- SVM(即使是线性核)相比于logistic更容易过拟合
和F师兄讨论后决定步骤:
- 分析每个临床特征对标签的显著性(p值)
- 单个临床特征、单个影像特征建模,跑出来一个表格,分析单个特征的效能
- 重新决定训练集、验证集比例(如2:1),调出一个比较好的结果
- 反复重新划分样本集,验证训练方法的鲁棒性
20190125
完成了临床特征对标签的显著性检验(p值),只有“部位”显著
完成了单个特征建模,跑出来一个表格,分析单个特征的效能,但是发现一个奇怪的现象:
对每个特征,分别随机划分训练及测试集100次,每次划分建立一个logistic模型,计算测试集上的AUC值。
然后发现有些特征每次AUC都在0.5以下(0.25-0.4)。查了查都说因为是负相关,取个反就行了,但是我觉得logstic应该能把这种负相关学习出来吧。问了师兄们也没有结果。
F师兄告诉我,单个特征测试不用分训练和验证,直接算AUC就行,因为相对关系是不变的。于是改为直接计算AUC。
//www.greatytc.com/p/90106243d231
完成上述两个步骤后发现,还是有几个特征的AUC>0.7,p<0.05,希望组合起来能获得好一些的效果。
20190122
部分病例的分化程度、分型信息缺失 Done
PET 的 101 108 113三个病例的影像有问题 和其他病人的影像都不一样 Done
CT 的 88 173 两个病例,原图像和分割不匹配 Done
101号病例的部位是1+2+4,但是影像上只标了一个 Done
20190123
42号病例,SE2图像和分割不匹配 Done
20190124
准备优化数据的形式,利用DataFrameMapper
已经利用imbalance_learn,应对类别不平衡问题:SMOTE。使用SMOTE后,过拟合仍严重。
3-4个特征就能在训练集上达到0.9以上的AUC,而测试集只有0.5,不知道为什么感觉大部分时候在0.5以下
今天的收获:
1.如果过拟合的话,在特征初筛的时候,尽量不使用有监督的初筛(如u检验、mrmr),使用有监督的特征选择时交叉验证。
- SVM(即使是线性核)相比于logistic更容易过拟合
和F师兄讨论后决定步骤:
- 分析每个临床特征对标签的显著性(p值)
- 单个临床特征、单个影像特征建模,跑出来一个表格,分析单个特征的效能
- 重新决定训练集、验证集比例(如2:1),调出一个比较好的结果
- 反复重新划分样本集,验证训练方法的鲁棒性
20190125
完成了临床特征对标签的显著性检验(p值),只有“部位”显著
完成了单个特征建模,跑出来一个表格,分析单个特征的效能,但是发现一个奇怪的现象:
对每个特征,分别随机划分训练及测试集100次,每次划分建立一个logistic模型,计算测试集上的AUC值。
然后发现有些特征每次AUC都在0.5以下(0.25-0.4)。查了查都说因为是负相关,取个反就行了,但是我觉得logstic应该能把这种负相关学习出来吧。问了师兄们也没有结果。
F师兄告诉我,单个特征测试不用分训练和验证,直接算AUC就行,因为相对关系是不变的。于是改为直接计算AUC。
//www.greatytc.com/p/90106243d231
完成上述两个步骤后发现,还是有几个特征的AUC>0.7,p<0.05,希望组合起来能获得好一些的效果。
20190217
重新开工,初步完成了步骤3和4。
步骤如下:
- 按1:1或2:1重复划分训练集、测试集
- SMOTE重采样
- 特征预处理,删除包含一定量缺失值、大量相同值、相关系数高的特征
- mRMR特征排序选择,保留前10个或前20个特征
- LASSO特征选择
- 采用逻辑回归建模,进行GridSearch选择参数
可以调出比较好看的结果(详见"结果.txt"),如:
(23, 8) 401 0.32 10 0.8431372549019608
(35, 7) 416 0.49 10 0.8034188034188035
至于训练方法的鲁棒性:
不到一半的次数(0.43)里,测试集的AUC大于0.55,0.2的大于0.6,0.054的大于0.7,也就是说,基本可以表明标签和影像无关。
20190226
以上结果和实验都是在“CT+PET”的特征上做的
发现AUC结果比较好(0.8以上)的样本集划分方式,临床特征都很不平衡,要么临床特征分布不平衡,要么auc结果很差。
医生说先忽略样本临床特征不平衡的问题,继续按照这个做。这种数据真的没什么意义。
调好CT+PET的结果:
- 放射组学标签的构建和验证
采用LogisticRegression模型,模型采用的特征名及其系数为:
'diagnostics_Image-original_Mean', -0.33110345
'exponential_glcm_Correlation_CT', -0.72360895
'exponential_glszm_ZoneVariance_CT', -0.92127714
'square_glszm_GrayLevelNonUniformityNormalized_CT', -3.5461045
'wavelet-HHH_glszm_SizeZoneNonUniformity_PET', -0.39414552
'wavelet-HHL_glszm_SizeZoneNonUniformity_PET', -0.09843072
'wavelet-HHH_glszm_GrayLevelNonUniformityNormalized_PET', 0.70364919
'square_glcm_Correlation_CT' 4.29338334
C=7.054802310718645
AUC on Train Set: 0.8555102040816327
AUC on Test Set: 0.8431372549019608
- 放射组学诺模图的建立和验证
LASSO选出的临床特征为'Age', 'diameter', 'L5',诺莫图系数如下:
'Age', -0.01876038
'diameter', 0.00950171
'L5', 2.65506024
'rad_sig' 0.90999272
Best C Value: 0.6135907273413173
AUC on Train Set: 0.9379591836734694
AUC on Test Set: 0.9313725490196078
20190330
如果要使用SMOTE,一定记得同步保留原训练集,对原训练集同步处理(像在测试集上做的一样),方便最后统计结果(曲线、训练集上准确率等)。
CT/PET 401
PET 2636
CT 1234