题目以及数据介绍

人工智能辅助糖尿病遗传风险预测

Github 代码以及数据
Github

初始思想

1.从头开始,先看一下初始数据以及数据的简单分析吧

训练数据,最后一列是血糖:

A榜测试数据

第九个特征与标签的关系分布

第三十八个

各个特征计数(有点糊)

各个特征(标签)的标准差

热力图(反应相关性)

标签数量分布(简单取整)

2. 对以上数据分析一下:
1)特征的数据分布基本上是类似图中的分布规律(符合实际情况,说明该指标大部分人都正常)
2)个别特征的标准差比较大,说明有离群值,先baseline在进行离群值处理
3)个别特征缺失值比较多(尤其中间五个,缺失近乎75%,实际指标为乙肝五项),所以暂不使用
4)由于特征是医学指标,所以需要挖掘内在的医学上的关系
5)数据中时间以及id暂不使用,并且性别映射为数值: 男1女0
3. 根据上述分析进行简单模型跑出baseline,xgboost模型

# 得分score按照题目要求实现
# 利用xgboost的树模型以及泊松分布(label大致符合泊松分布)
# 误差rmse为均方根误差(均方误差开方)
# 参数如下,1000-50次迭代
para = {'booster': 'gbtree','objective': 'count:poisson','eval_metric': 'rmse','eta': 0.3,  # alpha'silent': 1,'max_depth': 3,'subsample': 0.9,  # 0.9样本选取率 防止过拟合"miss": -999,"lambda":1.5
}

结果:
本地cv-5折测试得分score

提交后得分score

效果不是很好0.0

中期思想

1.

  1. 既然是医学指标,那么就要结合医学上进行分组,就是同一器官和平均值+总量这种东西融合在一起
  2. 建立阀值,删除.(经过本地测试 18最优)
# 去掉乙肝五项 id 体检日期
train_file.drop(['乙肝表面抗原', '乙肝表面抗体', '乙肝e抗原', '乙肝e抗体', '乙肝核心抗体', 'id', '体检日期'],axis=1,inplace=True)
test_file.drop(['乙肝表面抗原', '乙肝表面抗体', '乙肝e抗原', '乙肝e抗体', '乙肝核心抗体', 'id', '体检日期'],axis=1,inplace=True)
# 白球比例是指肝功能白球比例(白球比)=白蛋白/球蛋白=白蛋白/(总蛋白-白蛋白)
# 单核细胞 白细胞冲突
train_file.drop(['单核细胞%','白球比例','白蛋白','*总蛋白'],axis=1,inplace=True)
test_file.drop(['单核细胞%','白球比例','白蛋白','*总蛋白'],axis=1,inplace=True)# 合并相似项目 酶
train_file['酶'] = train_file['*天门冬氨酸氨基转换酶'] + train_file["*丙氨酸氨基转换酶"] \+ train_file["*碱性磷酸酶"] + train_file["*r-谷氨酰基转换酶"]
test_file['酶'] = test_file["*天门冬氨酸氨基转换酶"] + test_file["*丙氨酸氨基转换酶"] \+ test_file["*碱性磷酸酶"] + test_file["*r-谷氨酰基转换酶"]# 血细胞计数 * 平均参数
train_file['红细胞总血红蛋白量'] = train_file['红细胞计数'] * train_file['红细胞平均血红蛋白量']
test_file['红细胞总血红蛋白量'] = test_file['红细胞计数'] * test_file['红细胞平均血红蛋白量']train_file['红细胞总血红蛋白浓度'] = train_file['红细胞计数'] * train_file['红细胞平均血红蛋白浓度']
test_file['红细胞总血红蛋白浓度'] = test_file['红细胞计数'] * test_file['红细胞平均血红蛋白浓度']train_file['红细胞总体积'] = train_file['红细胞计数'] * train_file['红细胞平均体积']
test_file['红细胞总体积'] = test_file['红细胞计数'] * test_file['红细胞平均体积']train_file['血小板总体积'] = train_file['血小板计数'] * train_file['血小板平均体积']
test_file['血小板总体积'] = test_file['血小板计数'] * test_file['血小板平均体积']
# cv 0.7912094213627026# 肾指标
train_file['肾'] = train_file['尿酸'] + train_file['尿素'] + train_file['肌酐']
test_file['肾'] = test_file['尿酸'] + test_file['尿素'] + test_file['肌酐']# 嗜酸细胞
train_file["嗜酸细胞"] = train_file['白细胞计数'] * train_file["嗜酸细胞%"]
test_file["嗜酸细胞"] = test_file['白细胞计数'] * test_file["嗜酸细胞%"]# 删除嗜碱细胞 与嗜酸细胞矛盾
train_file.drop(['嗜碱细胞%'],axis=1,inplace=True)
test_file.drop(['嗜碱细胞%'],axis=1,inplace=True)# 删除年龄异常值
train_file = train_file[train_file['血糖'] <= 18]# 利用lgb中goss+泊松模型的lgb参数设置
# 1500-50迭代
lgb_para = {'learning_rate': 0.03,  'boosting_type': 'goss','objective': 'poisson','metric': 'rmse',  'max_depth': 4,'sub_feature': 0.9,'colsample_bytree': 0.9,'verbose': -1 }

关于嗜酸性粒细胞

lgb结果:

效果还可以
线下cv 5折结果得分稍微比真实高一点
这个real score是A榜数据答案全量测试得分
当然第一次做的时候没有这个答案,第一次得分就是随机选点测试得分

xgboost版本:

xgb_para = {'booster': 'gbtree','objective': 'count:poisson','eval_metric': 'rmse','eta': 0.03,  #'silent': 1,'max_depth': 4,    # 4 best'subsample': 0.9,  # 0.9 best"miss": -999,"colsample_bytree": 0.7,"lambda":1.5 # 1.5 best
}

xgb结果:

其实score差不多
但是
很明显xgboost的时间比lgb长

其他思想

  1. catboost应用
  2. cnn应用(效果不是很好)
  3. 上述模型的融合

心得感悟

觉得模型调参只是短暂的繁琐但是脑力消耗比较小
其次,特征处理尤为重要
总结: 对特征不够敏感, 尤其是比较专业的方面, 其次,数学功底有待加强, 否则分析数据手足无措 = =
后续: 加强模型数学理解比如本次的goss+泊松

阿里天池大赛[人工智能辅助糖尿病遗传风险预测]赛后总结相关推荐

  1. 《天池精准医疗大赛-人工智能辅助糖尿病遗传风险预测》模型复现和数据挖掘-论文_企业

    大赛概况 进入21世纪,生命科学特别是基因科技已经广泛而且深刻影响到每个人的健康生活,于此同时,科学家们借助基因科技史无前例的用一种全新的视角解读生命和探究疾病本质.人工智能(AI)能够处理分析海量医 ...

  2. 《天池精准医疗大赛-人工智能辅助糖尿病遗传风险预测》模型复现和数据挖掘-企业科研_论文作业

    大赛概况 进入21世纪,生命科学特别是基因科技已经广泛而且深刻影响到每个人的健康生活,于此同时,科学家们借助基因科技史无前例的用一种全新的视角解读生命和探究疾病本质.人工智能(AI)能够处理分析海量医 ...

  3. 天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测

    在18年1月参加了天池精准医疗大赛-人工智能辅助糖尿病遗传风险预测.我国有1.1亿人患有糖尿病,是世界上糖尿病患者最多的国家,每年用于糖尿病的医疗费用超过3000亿,与我们赛题相关的妊娠糖尿病是其中一 ...

  4. 关于【天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测】的思考

    在18年初与来自几所牛校的学生组队参加了第一次天池大赛,最终由于乌龙没能在初赛获得前一百的成绩,止步复赛.前几天观看了决赛现场的答辩,感触良多,记录如下. 首先上一波图,这是我们参加比赛是的程序和数据 ...

  5. 天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测总结

    github源代码 赛题地址 数据地址 1 问题描述 这个比赛的任务是预测妊娠期妇女是否患有妊娠期糖尿病,label只有一列,0表示未患病,1表示患病.一共有1000条训练样本,85维特征.线上测试样 ...

  6. 打榜前10名:天池AI医疗人工智能辅助糖尿病遗传风险预测

    向AI转型的程序员都关注了这个号

  7. 基于XGBOOST的糖尿病遗传风险预测(1)

    博客基于Xgboost方法对糖尿病遗传预测风险进行预测,实际上是对人体血糖值的预测.论文以天池精准医疗大赛--人工智能辅助糖尿病遗传风险预测为背景,对其提供的数据进行人体血糖值进行预测. 本质而言是使 ...

  8. 【参赛记录】糖尿病遗传风险预测

    [参赛记录]糖尿病遗传风险预测 一.选题背景 二.题目任务 2.1 数据集字段说明 2.2 训练集说明 2.3 测试集说明 三.评估指标 四.数据分析和处理 4.1 缺失值和异常值分析 缺失值 异常值 ...

  9. 讯飞:糖尿病遗传风险预测Coggle挑战赛公开

    导入数据------------------------- train_df = pd.read_csv('./糖尿病遗传风险预测挑战赛公开数据/比赛训练集.csv', encoding='gbk') ...

最新文章

  1. etcd 笔记(04)— etcd 网关与 gRPC 网关
  2. 让Hive支持行级insert、update、delete
  3. 最新发布!《阿里云实时计算 Flink 版解决方案白皮书-2021版》开放下载
  4. 电信业的100个随想
  5. 当自己颓废的时候怎么激励自己?
  6. 逆向工程mysql注释_PowerDesigner 15进行逆向工程生成数据库图表时,注释的comment的生成,解决PowerDesigner逆向工程没有列注释...
  7. Ubuntu16.04下安装、配置Sublime运行环境
  8. 实验2-1-2 温度转换 (5 分)
  9. teamviewer13试用期已到期,错装商业版怎么还原成个人版?
  10. 算法题打卡-超人进化(剑指offer第一天)
  11. 官方rom提取原签名工具_ROM开发工具箱官方版(字节转换,反编译,apk/zip签名)4.45免费版...
  12. 流媒体 - 02 常用命令(gst+ffmpeg+v4l2)
  13. 电商中,订单号的生成方法
  14. STEPN 新手入门及进阶
  15. 中文实时语音识别引擎
  16. oracle授权同义词权限,Oracle授权 同义词
  17. 制作ubuntu18.04启动盘 + 安装ubuntu18.04
  18. win10下面搜索框无法搜索应用的解决方案
  19. Vitis-AI运行Emulation-HW神坑
  20. 15天完成民猫电商毕设——支付消息(11th day)

热门文章

  1. 什么是长尾理论-长尾效应
  2. 使用ENVI读取Earth Engine下载的图像波段名的方法
  3. antd 中的 table 组件设置 size 属性值为 small 后,表头背景色设置的解决方案
  4. 怎么主动发起话题_第一次追女生怎么聊天不尴尬 第一次聊天说些什么话题好...
  5. 汇编语言:Debug的使用
  6. 十天学习Unity3D脚本(一)九个回调
  7. mac java模拟器_iOS学习——如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒...
  8. 为什么剩余数不能相加_2017年国家公务员考试行测指导:数学运算之剩余问题...
  9. SNMP网管NAT穿透的问题
  10. java三大框架(ssh)面试题整理