“
随着首届太湖信用大数据创新应用大赛的赛程推进,算法赛已经接进入了复赛的关键阶段,40位入围选手也在不断迭代优化自己的答案,经过千辛万苦,小编跪求获得了一份神秘大咖草拟的算法赛思路解析(python),现在分享给大家。
”
step1
. 首先对数据进行EDA
拿到陌生的数据,首先通过EDA发现数据的异常和分布情况以及特征间的相互关系,如通过散点图矩阵,可视化不同特征间的两两关系,发现特征间关系以及异常点,皮尔逊积矩相关系数,衡量两两特征间的线性依赖关系等,这里就不过多赘述。
step2
. 获取企业特征
这里特别需要注意读取csv的编码问题,如果设置有误,可能出现乱码。我们需要用LabelEncoder把某些列里面的离散属性用数字来表示,如"注册资本(金)币种", "企业(机构)类型", "行业门类代码", "投资总额币种"等。
某些日期列可能是有用的特征,我们可以对日期列进行拆分,并且通过求时间差等操作,获取更为有效的特征。除了机器学习常见的特征工程的手段,还可以使用自然语言处理技术针对文本信息提取出有效的特征,多挖掘特征之间的关系,应用组合特征、交叉特征、合成特征等。
step3
. 缺失值填充
本次比赛涉及很多真实企业信息,这就导致有很多字段存在缺失值,对缺失值的处理尤为关键。常见的做法是统计缺失信息的比例,超过一定阈值的可以直接删除,保留下来的可以采取多种方式进行填充,如均值、中位数、-999等。
step4
. 构建训练集、验证集和测试集
这一步需要把之前各表的数据进行合并,保留有效的字段。我们可以简单地通过迭代的方式,测试哪些特征更为有效。由于本次比赛正负样本比例不均衡,我们可能需要改变采样策略。
step5
. 线下测试
该baseline使用GBM模型进行简单测试,也可以使用交叉验证,模型融合等。调参可以使用gridsearch等。
step6
.线上提交
线上预测的时候,模型训练中参数n_estimators需要根据线下测试来重新指定。
THE END
以上内容仅为抛砖引玉,希望能在复赛过程中为大家带来一些新的思路和想法。当然,如果各路大神们有更加精辟的见解,欢迎大家在后台留言分享。
-----
-----
复赛留给选手们的时间也不多了,大家一起Fighting!
领取专属 10元无门槛券
私享最新 技术干货