/tianchi_competition_diabetes

天池-人工智能辅助糖尿病预测Rank42/2522

Primary LanguageJupyter Notebook

天池大赛-人工智能辅助糖尿病预测复赛42名

赛题描述

心血管病、糖尿病等慢性疾病,每年导致的死亡人数占总死亡人数的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为三人共同修改,因此我这边版本可能会与最终提交版本有些许差别,但基本**一定不变