心血管病、糖尿病等慢性疾病,每年导致的死亡人数占总死亡人数的80%,每年用于慢病医疗费用占**公共医疗卫生支出的比例超过13%。作为一种常见慢性疾病,糖尿病目前无法根治,但却能通过科学有效的干预、预防和治疗,来降低发病率和提高患者的生活质量。阿里云联合青梧桐健康科技有限公司主办天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测,希望用人工智能的方法处理、分析、解读和应用糖尿病相关大数据,让参赛选手设计高精度,高效,且解释性强的算法来挑战糖尿病精准预测这一科学难题,为学术界和精准医疗提供有力的技术支撑,帮助我们攻克糖尿病。
比赛地址
数据地址
- python 3.5.2
- numpy
- pandas
- xgboost
- lightgbm
- sklearn
- pre_test.ipynb 初赛code
- final_test.ipynb 复赛code
- else.py 比赛期间尝试的其他方法
- final.csv 提交结果
-
初赛时,预测血糖浓度,MSE为评判标准,drop大量缺失特征,对连续特征进行简单分箱降噪处理,对缺失值采用尝试采用-999,中位数,众数填充,最终基于本地CV对连续变量采用中位数填充,分类变量采用众数填充。基于可视化观察到一个血糖异常高的值,drop之后,线上提升较大。未进行样本平衡处理时,线上成绩一直在200开外,后想到分类方法,选取血糖浓度10为阈值,将血糖值降序排列后,取前1000个样本和后1000个样本进行训练预测测试集血糖分类,然后分别选用初始训练集血糖浓度高的前500个数据预测分类高的样本,后2000样本预测分类低的样本,线上效果显著,顺利进入复赛。
-
复赛,预测病人是否患有糖尿病,采用分类模型,f1_score为评分标准,基于原始数据背景,做了许多关于肾脏,心血管,酶细胞,血压的组合特征,尝试多项式组合特征,过拟合十分严重,弃用,尝试auto-sklearn方法,过拟合严重,弃用,最终采用相关系数和随机森林法选取100维特征,通过模型融合得到最终结果。
- 过拟合是不可避免的,因此每次换数据之后,排行榜都是大变,有时候可以适当简化特征,简化模型,效果或许会出其不意
- code为三人共同修改,因此我这边版本可能会与最终提交版本有些许差别,但基本**一定不变