最新数据挖掘赛事方案梳理!

网友投稿 249 2022-09-19

最新数据挖掘赛事方案梳理!

Datawhale赛事

作者:牧小熊,华中农业大学,Datawhale成员

赛题介绍

科大讯飞:糖尿病遗传风险检测挑战赛。背景:截至2022年,中国糖尿病患者近1.3亿。中国糖尿病患病原因受生活方式、老龄化、城市化、家族遗传等多种因素影响。同时,糖尿病患者趋向年轻化。

糖尿病可导致心血管、肾脏、脑血管并发症的发生。因此,准确诊断出患有糖尿病个体具有非常重要的临床意义。糖尿病早期遗传风险预测将有助于预防糖尿病的发生。

赛事地址:pandas as pdimport lightgbm

数据预处理

data1=pd.read_csv('比赛训练集.csv',encoding='gbk')data2=pd.read_csv('比赛测试集.csv',encoding='gbk')#label标记为-1data2['患有糖尿病标识']=-1#训练集和测试机合并data=pd.concat([data1,data2],axis=0,ignore_index=True)#特征工程"""人体的成人体重指数正常值是在18.5-24之间低于18.5是体重指数过轻在24-27之间是体重超重27以上考虑是肥胖高于32了就是非常的肥胖。"""def BMI(a): if a<18.5: return 0 elif 18.5<=a<=24: return 1 elif 2490: return 2 else: return adata['DBP']=data['舒张压'].apply(DBP)data

训练数据/测试数据准备

train=data[data['患有糖尿病标识'] !=-1]test=data[data['患有糖尿病标识'] ==-1]train_label=train['患有糖尿病标识']train=train.drop(['编号','患有糖尿病标识'],axis=1)test=test.drop(['编号','患有糖尿病标识'],axis=1)

构建模型

def select_by_lgb(train_data,train_label,test_data,random_state=2022,metric='auc',num_round=300): clf=lightgbm train_matrix=clf.Dataset(train_data,label=train_label) params={ 'boosting_type': 'gbdt', 'objective': 'binary', 'learning_rate': 0.1, 'metric': metric, 'seed': 2020, 'nthread':-1 } model=clf.train(params,train_matrix,num_round) pre_y=model.predict(test_data) return pre_y

模型验证

test_data=select_by_lgb(train,train_label,test)pre_y=pd.DataFrame(test_data)pre_y['label']=pre_y[0].apply(lambda x:1 if x>0.5 else 0)result=pd.read_csv('提交示例.csv')result['label']=pre_y['label']result.to_csv('baseline.csv',index=False)

上分建议

本题中的模型部分用了相当简单的方法,lightgbm算法中没有进行交叉数据验证,同时也仅仅使用了默认参数,因此选手可以在这个Baseline的基础上进行进一步的参数优化于模型融合,同时注意到本公开的算法中特征工程构建进行了一部分的演示,选手可以根据糖尿病的相关医学特点进行对特征进一步挖掘,从而提升比赛的成绩~

整理不易,点赞三连↓

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:WOLFLAB内部教材大纲《VMware NSX-T卷2》-05
下一篇:数据可视化的利器-Seaborn简易入门
相关文章

 发表评论

暂时没有评论,来抢沙发吧~