加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

魔镜杯决赛风控算法组【入围奖】-大数据预测的一条途径

发布时间:2020-12-14 01:50:02 所属栏目:大数据 来源:网络整理
导读:魔镜杯决赛结束之后,很多人私信小科,希望能看到选手们的决赛作品!铛铛铛~决赛作品来啦,小科将持续发布魔镜杯决赛作品,敬请期待! 今天给大家分享的是来自涌泉团队的作品,涌泉团队由范方达一人组成,因人在美国,方达坚持用视频完成了比赛!以下为小科


魔镜杯决赛结束之后,很多人私信小科,希望能看到选手们的决赛作品!铛铛铛~决赛作品来啦,小科将持续发布魔镜杯决赛作品,敬请期待!


今天给大家分享的是来自涌泉团队的作品,涌泉团队由范方达一人组成,因人在美国,方达坚持用视频完成了比赛!以下为小科曾对他进行的专访,感兴趣请戳:

科赛网对话范方达——大数据的门里门外(一)

科赛网对话范方达——大数据的门里门外(二)

科赛网对话范方达——大数据的门里门外(三)

话不多说,进入作品吧!

?



【作品简介】

同样作为数据的学习者,这个作品尝试为数据预测提供一条通用的入门路径。面对大量的数据科学需求,达到较高精度的数据预测方法并非为高大上的专业人士所垄断,所以这里尝试为类似的数据预测问题搭建通用的框架,使得我们作为初学者能够熟悉大数据特征、并合宜地处置数据、模型上手时遇到的各类困难,从而较短时间内突破预测初期的精度瓶颈。但是,只是因为上帝是满有怜悯、有恩典的,以耶稣基督钉在十字架上救赎人的罪,这个作品才得以出现。





在进行大数据预测时,我们首先要考虑我们的样本量(9万行)、预测变量Y(二分类问题:贷款是否逾期)和优化目标(0-1之间概率预测:AUC得分)。在处理GB以内量级的数据问题时,单机 + Python是足够用的。



?

在大数据预测的过程中,很重要的一点是由于变量数量极多和种类复杂,我们需要避免一个个整理变量,而是尽量批量处理 + 自己编制函数(前人和我们自己造的各种轮子),自动归纳变量特征并解决大部分通用问题,然后把少数特殊变量单独处理。最简单的一个思维挑战:把样本量和变量数都扩大十倍,我们人工的工作量有没有变化。在最理(tōu)想(lǎn)的流程设计下,我们甚至几乎不用改动代码。

?


对于熟悉数据特征来说,单变量是最基础的,而单变量的核心就是分布,也就是哪些种类或数值露脸得比较多(频数),对于连续的数值变量,均值方差等统计量在描述分布方面更有代表性。


在我们人熟悉数据之后,我们就想怎么把数据交给模型了,模型智商(算数能力)比人好,但是情商(怎么理解不是数的东西,以及数不好的时候如何调整心态)不如我们。所以我们还得帮模型翻译一遍,把数据中所有不是好数的东西都变成好的数。只要我们牢记做好变量数今后随时扩大10倍的心理准备,充分运用批量处理函数,并合理设计流程,工作量并不很大。



统计模型的选择长期看似乎是风水轮流转,逻辑回归是最经典的线性分类模型,XGBoost是目前在机器学习竞赛表现普遍很好的集成决策树类模型,神经网络现在如此热门,但是今后也说不定有更强大的模型,况且大家都是对现实的规律进行某种形态的假设和拟合,不同模型的优势点不一样。除了单纯的精度之外,其实我们重要的是了解各个模型的原理,如何利用它们的特点和优势,为我们的数据预测工具箱服务。



不论什么模型,交叉验证在增加稳健性、减少过拟合方面是模型训练中少不了的经典之作。与其跟着不同模型包和语言学习调用不同的交叉验证函数,我们不妨在模型训练前就为模型搭建统一的交叉验证拆分数据和训练方法。


如果说之前的数据清洗还是针对各变量自身的特征的话,模型的变量评估则把变量的价值与整体预测的效果联系起来。也就是对于预测效果的重要变量,我们可以进一步通过取统计量、交叉项等方式进一步展开,让模型更充分地汲取其中的有效信息。

?


模型优化是一个让电脑最苦逼的活,如果和我一样有强迫症总在训练的时候盯着屏幕看,那么人也跟着变得苦逼了。所以为了双方都能够少苦逼一点(相煎何太急),我们先充分用脑理解模型和参数的意义,然后粗略的部分用手调参,精细搜索的部分仍然搭建函数交给电脑(电脑:说到最后还是都扔给我了不是?……人机合作的小船说翻就翻啊)。为了节省千百次训练的总时间,我们可以对精度和稳健性稍作保留,找到最优参数后再正式训练一遍。


在最后,我们用加权平均的方法组合模型,虽然是以非常有限的统计和机器学习知识,利用不同模型的一部分独立性在同一层次下进行线性互补,但是至少作为一个省时省力地改进单模型结果和避免增加过拟合风险的方法还是比较稳健的。


在整个数据预测的流程中,尽管我们不可避免地需要人的大量劳作,但是我们劳作的目的是让每一步都可以越来越自动化,也就是随着我们流程和编程技术的成熟,我们在摘要、清洗、拆分、训练、优化等各个环节都只需要越来越少的人力解决类似的问题,而把目光更加集中在需要我们的关注和投入思考的环节和工作上。


在我们的流程框架内,达到比赛的实际精度,我们的代码在笔记本电脑上从头到尾运行一遍大约需要2~3个小时(只是机器执行的时间,暂不考虑参数优化和人工的函数设计搭建等工作,后者是重头),因此如果有更强的需要和资源,我们可以更加投入人力物力来尝试进一步改进预测的效果。但是如果不是对预测流程有结构性的改进,那么框架内的这些改进方法预测最终会遇到瓶颈,或者可能耗时太多,或者存在过拟合风险。相比在瓶颈之上争取1%或0.1%的改进,很多时候我们有必要暂时跳出无限的改进循环,考虑我们真正关注的问题是什么。


首先要承认我们的模型预测能力是有助益的,但也是有限的。机器数学模型相比与人类,有着其特质的某种中立性、冷静与洞察力,帮助我们作出决策,同时也有作为机器和数学模型的局限、冷漠和短视,比如在有反馈效应的数据体系中(比如金融市场),预测长期趋势的无能为力,而模型决策趋同所产生的正反馈却可能在危机时造成踩踏风险,反而是要人的加倍照管才能够帮助一堆自助决策的模型脱离危机。所以,机器学习界AlphaGo的出现,可能并不会减少对人工作的需求,而是把人的角色从机器的竞争者转移到机器的评估与监管者上。

不论如何,在永恒的真理面前,愿恩惠平安从主基督耶稣临到所见的人。



撰写:范方达 范方方

编辑:汪梦梦 邓以勒

推荐阅读

有颜有实力!拍拍贷“魔镜杯”决赛现场独家回顾

【魔镜杯决赛倒计时12小时】顾鸣:致数据青年的一封信——回望初心,澎湃如昨


Kesci数据实践
???专业大数据竞赛平台

?

中国数据青年成长之家

注:版权所有,欢迎转载与交流,转载请告知,获允后请注明出处。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读