天池-AI美年健康大赛初赛-xgboost模型

代码:https://github.com/wucj123/ML

大赛链接地址:

https://tianchi.aliyun.com/competition/information.htm?spm=5176.100067.5678.2.60df342dStsN0q&raceId=231654

竞赛数据

两个特征文件 data_part1 和 data_part2,每个文件第一行是字段名,之后每一行代表某个指标的检查结果(指标含义已脱敏)。每个文件各包含3个字段,分别表示病人id、体检项目id 和体检结果,部分字段在部分人群中有缺失。其中,体检项目id字段,数值相同表示体检的项目相同。 体检结果字段有数值和字符型,部分结果以非结构化文本形式提供。

标签文件 train.csv,是训练数据的答案:包含六个字段,第一个字段为病人id,与上述特征文件的病人id有对应关系,之后五个字段依次为收缩压、舒张压、甘油三酯、高密度脂蛋白胆固醇和低密度脂蛋白胆固醇

初赛提交

选手提交格式参考示例文件 test.csv,包含一个病人id列和五个预测指标列,提交结果不包含第一行表头

解决方案

1、对两个data文件中数据进行初步格式化处理,使用pandas库,将八十多万条数据进行去重,拼接以及行列转换,最终得到五万多个病人稀疏诊断特性。数据格式第一列为病人ID,第一行为特征。

2、从整理后的特征中,筛选掉缺失率大于0.92的稀疏特征,将诊断特征数量减少到300多种。

3、搭建xgboost模型,利用xgboost中train和predict函数,进行测试训练。利用sklearn中gridsearch函数,进行参数遍历。可参考https://blog.csdn.net/u012969412/article/details/72973055

总结:

因为参加时间太晚,最后勉强进入复赛。还有很多可以改进地方,

1、比如我最后只选择了数字特征进行预测,其实可以加入文字特征,包括简单文字特征(某一特征有无或是否,可用数字替换),以及长文字采用NLP重点特征提取。

2、数字特征没有进行标准化处理,缺失值未经处理。经标准化,缺失值可用0代替。

猜你喜欢

转载自blog.csdn.net/qq_41994006/article/details/80808043
今日推荐