跪求的解题宝典来了!

随着首届太湖信用大数据创新应用大赛的赛程推进,算法赛已经接进入了复赛的关键阶段,40位入围选手也在不断迭代优化自己的答案,经过千辛万苦,小编跪求获得了一份神秘大咖草拟的算法赛思路解析(python),现在分享给大家。

step1

. 首先对数据进行EDA

拿到陌生的数据,首先通过EDA发现数据的异常和分布情况以及特征间的相互关系,如通过散点图矩阵,可视化不同特征间的两两关系,发现特征间关系以及异常点,皮尔逊积矩相关系数,衡量两两特征间的线性依赖关系等,这里就不过多赘述。

step2

. 获取企业特征

这里特别需要注意读取csv的编码问题,如果设置有误,可能出现乱码。我们需要用LabelEncoder把某些列里面的离散属性用数字来表示,如"注册资本(金)币种", "企业(机构)类型", "行业门类代码", "投资总额币种"等。

某些日期列可能是有用的特征,我们可以对日期列进行拆分,并且通过求时间差等操作,获取更为有效的特征。除了机器学习常见的特征工程的手段,还可以使用自然语言处理技术针对文本信息提取出有效的特征,多挖掘特征之间的关系,应用组合特征、交叉特征、合成特征等。

step3

. 缺失值填充

本次比赛涉及很多真实企业信息,这就导致有很多字段存在缺失值,对缺失值的处理尤为关键。常见的做法是统计缺失信息的比例,超过一定阈值的可以直接删除,保留下来的可以采取多种方式进行填充,如均值、中位数、-999等。

step4

. 构建训练集、验证集和测试集

这一步需要把之前各表的数据进行合并,保留有效的字段。我们可以简单地通过迭代的方式,测试哪些特征更为有效。由于本次比赛正负样本比例不均衡,我们可能需要改变采样策略。

step5

. 线下测试

该baseline使用GBM模型进行简单测试,也可以使用交叉验证,模型融合等。调参可以使用gridsearch等。

step6

.线上提交

线上预测的时候,模型训练中参数n_estimators需要根据线下测试来重新指定。

THE END

以上内容仅为抛砖引玉,希望能在复赛过程中为大家带来一些新的思路和想法。当然,如果各路大神们有更加精辟的见解,欢迎大家在后台留言分享。

-----

-----

复赛留给选手们的时间也不多了,大家一起Fighting!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181208G0ENLQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券