基于xgboost的二分类问题

之前做了一段时间这个,多方借鉴,找资料需要不断地挑选有用的信息,期间遇到很多问题,有些到现在也没解决。决心自己做完后简单写一下流程。下面就是自己做这个的一些基本过程,各方面话语不够专业,还望海涵。

首先是数据来源。来自天池大赛的复赛比赛中的一个数据,因为自己找到这个比赛数据时,比赛已经结束,只找到其中一个.csv文件。此数据集包含1000条数据,其中我以8:2的比例进行随机划分训练集和测试集,代码如下

数据中最后一列为标签列,即该体检患者是否患病。其他列为特征,为受检者的体检数据和基因数据。可以利用下面的代码,看数据的缺失情况(还有看缺失比例的代码的,不小心删了)

print(dataset.info())


有些数据缺失值比例特别高,可以dataset = dataset.drop('SNP54', axis=1)#删掉这一列。其余比例不太高的,可以填补缺失值。如0、-999,中位数、众位数等,如dataset  = dataset .fillna(dataset .mean()),以及dataset = dataset.fillna(-999)。

加载.csv文件,代码为dataset = pd.read_csv(r'xxxxx.csv')

其次建立模型。模型参数可以用CV调节

计算正确率

分析特征重要性


ROC曲线,和AUC的值

感觉自己做的很少,还有很多很可以深挖掘的地方。大家继续加油吧

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容