会调用Spark-Mllib库就是懂Data Mining?我却不以为然

  • 前言:在数据圈子里,有很多数据工具来辅助做一些简单的数据挖掘工作,最常听到的就是Python和R的算法库,毕竟大部分业务人员接触单机环境下的场景会比较多。当然也有做大数据开发的工程师,迎着潮流接触些Spark相关的算法库,做些调参的工作。有了这些尝试以后,很多人会自然而然认为数据挖掘也就这么回事,我也要跳槽,要高薪。

说明:本文槽点不少,仅限于有一定心理承受能力的读者继续阅读下去。快年底了,跳槽频繁,希望本文对你的信心没有丝毫影响,能够起到提醒效果最佳。

会调用Spark-Mllib库就是懂Data Mining?我却不以为然_第1张图片

一、两个人的故事

张美丽,职场新人,挤破脑袋都想进大数据圈子,把数据挖掘工程师作为奋斗的目标。

张美丽大学就读于一所普通的学校,大学时光很美好,可时光短暂,眼下就要踏入社会了却不知道做什么。

找工作失意,又不甘心回老家,随波逐流去考公务员。

张美丽决定全力以赴考研究生,自己成绩也优秀,考个本校研究生问题不大。正好可以有个缓冲时间决定下找什么工作,再去北上广闯一闯,增加点阅历,还能高薪。

说干就干,女汉子一枚。在每一个日日夜夜的备战后,张美丽顺利考上了研究生。收到录取通知书那天,张美丽就已经规划好了未来3年的学习计划,花1年半时间完成课程,剩余时间去找实习,增加工作经验。

正好这些年大数据火热,人工智能又是未来趋势,铺天盖地的新闻。这次绝对不能再错失机会了,仔细琢磨后,张美丽觉得只有数据分析和数据挖掘适合自己,正好自己还是统计学专业。

最后张美丽坚定不移的选择了大数据挖掘,不为别的,脑子够用,谁钱多,就做啥。

可毕竟还是有很高的技术门槛,成绩好是一回事,学习大数据挖掘还是得有一个正确的方向。

在琳琅满目的培训平台里面,张美丽挑选了一家人气和价格适中的,忍痛割爱的支付了1998大洋

舍不得孩子,套不得狼,好好跟着老师学Python和R才是重点。

结合课堂上和课程外的勤加练习,张美丽自认为学得还不错,下面这些她都会:

  • 下载安装软件,以及常用语法和命令

  • 调用常用的算法库构建模型,去做分类、聚类和预测的算法

原来大数据挖掘就这么回事,已经有很多现成的算法库,只要知道是做什么的,会调用,调整参数就足够了。遇到什么业务,往上套模型出结果就OK了。

张美丽坚信不疑,毕竟这是老师告诉她的,据说老师还是在知名公司有大量数据挖掘的实践

有这样的准备找个实习岗位还是比较容易,张美丽很快找到了一个看起来还不错的机会。

可是干着干着,张美丽有些苦恼,因为遇到这几个问题:

  • 领导喜欢讨教一些模型背后的学问,可就调用调参这么简单,那有这么多学问啊?

  • 领导还总是问模型的好坏,是不是可以拿来用了。做个模型有这么繁琐?

  • 实习到现在,除了工具用熟练了些,做出来的模型从来没被用过,业务方也不知道怎么去用自己的模型。

如果照这样下去,估计能够转正的机会不大。是当初培训老师教得太片面了?还是和同事、领导沟通不恰当?还是自己压根还没入门?

张美丽百思不得其解......


刘爱国,工作五年,起色不大,迫于生活决定另寻高薪,听说搞数据挖掘能够涨一倍。

做了好多年的开发了,薪资不上不下,勉勉强强。

要说转管理岗,刘爱国也不是没想过,毕竟身边优秀的同龄人有些都当上了部门领导,可是自己还在搬着砖,稍有不慎,来个毕业生就把自己工作给揽过去了。

谁不想涨薪!在评估自己的确管理能力不足,也不喜欢勾心斗角的管理层圈子以后,刘爱国决定转型到大数据圈子里,找个高薪职业——大数据挖掘,以后说不定还能带团队做数据产品。

对于搞多年Java开发的自己来说,部署一套大数据分布式集群肯定问题不大,毕竟底层就是用Java来写的。没过一周,刘爱国就利用自己以前买的三台笔记本就顺利搭建了一套简单的集群环境。

既然是转型,当然是什么技术火热就选择什么。当下就是Spark最热门,用它能做很多的大数据挖掘,迭代式计算,听起来是有些玄乎。

刘爱国毕竟也算个老油条了,虽然很多原理性的东西自己也不了解,但就是不报个培训班,何必花这个冤枉钱呢?

在他看来,去面试能说会道就足够了,多谈些高深的原理,框架性的技术,会调用很多Spark-Mllib库做数据挖掘就足够了,拿高薪稳稳的。

在经过一个多月的苦练,怀着十足的把握,刘爱国开始了新的面试生涯。

没过多久,陆陆续续收到很多面试邀请,刘爱国还特意的安排好每天面试的时间表,不错过每一次机会。

刚开始刘爱国并没有多放在心上,挑选了压根不想去的公司来练练手,还要价很高,自然而然也没有收到任何offer。

两周时间过去了......

这下刘爱国有些着急了,居然一个offer都没收到,难道自己对大数据挖掘的理解不够深?一定不是。估计是那群面试官屁都不懂?

况且这个技术门槛很高的岗位,外加自己的工作经验,就应该要这么高的薪水。

刘爱国不想降低自己的期望,仍然满口大道理,一口要价,继续去面试接下来的公司去了。

二、业务模型是何物?

人们天生就喜欢听故事,代入感很强。不管是张美丽,还是刘爱国,也许他们都是虚构的人物。但想必不少朋友都能够在这两个角色里看到自己的影子,哪怕是某个情节的心理感受。

既然只会调用算法库并不是大数据挖掘的全部。那说一千,道一万。到底场景业务模型是何物呢?

这样一句话,我说过很多遍:好的业务模型不单单只是一个算法而已,它是由多个算法和业务运营规则来组合在一起的。

很多缺乏真正实践的朋友估计对这句话云里雾里的感觉。

前不久,在我用心组建的学习圈子里面(感兴趣可以私信我),有个朋友也直接表达下面两点:**

  • 想要我解释下这句话到底是什么意思?

  • 业务场景模型到底为何物?

我举了一个实践中的案例——识别P2P平台欺诈用户的场景

就比如羊毛党群体。

它起源于互联网金融的P2P平台,是指那些专门选择互联网渠道的优惠促销活动,以低成本甚至零成本换取物质上的实惠的人。

单从这个概念的描述,我们会得到羊毛党这几个内容:

  • 它寄生于互联网金融平台

  • 它能够让平台欣欣向荣,也能够把平台元气吸干

  • 对于平台而言,恶意大批量的羊毛党团伙危害性极其严重

如果是张美丽,或者刘爱国,甚至是看文章的你。你们遇到这样一个业务场景,会考虑如何去构建业务场景模型来解决痛点问题呢?

我闭着眼睛,用心来猜,不出所料,肯定这三步:

  • 首先,确定为一个分类场景模型

  • 其次,找到核心的特征,清洗数据,准备训练和测试样本

  • 最后,用R、Spark去调用分类算法库(随机森林、逻辑回归等),调节参数,运行命令,反复优化参数。

这时候,张美丽会说,这不就完事了么?还能折腾出什么花样?

如果你也是这样想的,那你一定也很美丽

对于业务场景来说,就像写800字作文一样。首先是要找到这个场景的痛点:

  • 其一,羊毛党是可恶,但是平台不反对以个人、家庭、朋友等小规模的羊毛党群体,对于平台来说,真正痛恨的是恶意大批量的薅羊毛团伙。
  • 其二,羊毛党对于平台而言,爱恨交织,即使是恶意大批量的团伙作案,平台也想挖掘出潜在的优质用户,真正转变成平台的粘性用户。

所以就拿很多平台搞活动,搞广告引流量,去发放丰厚的奖励,甚至现金。业务运营人员还是只想发给真正有价值的用户群体,精准。

从业务模型角度来说,这里面就不仅仅是分类算法能够解决到的。

除了去判断用户是否为羊毛党,还需要去识别该用户属于哪一种类别的羊毛党群体,也就是用户细分。

通过模型的确能得到了用户的异常情况。

可最后的关键,还需要结合业务运营的角度,利用业务规则去综合评估用户的风险,最大可能去挖掘出异常用户群体中的潜力用户。

这才是业务场景模型所在做的事啊。

顷刻间,张美丽感觉自己被坑了,培训平台老师,你出来,我张美丽保证不打死你。

三、想做一个好模型

每个做大数据挖掘的朋友,都想做一个好的模型,无可厚非,这是本职工作,也是体现大数据价值的方面。

可问题来了,如何做一个好的模型?难道只可意会,却不可言传?

在构建模型上,很多朋友对于算法库的依赖比较严重,特别是学习Spark,认为会调用Mllib库就足够了。别人是如此优秀的开源团队,写出来的算法执行效率也不会差到哪里去,况且这些常用的分类、聚类算法也还不都这样?直接调用不就OK了?

当初的张美丽也是这样想的。

可是话虽这么说,实践的业务场景却不敢这样去做。如果只是线下测试某一个分类算法的准确率和召回率,看看分类特征选择是否精准,那么你当然可以去调用一些现成的算法库去证明自己的想法。

可是往往到正式发布业务模型,个性化结合线上业务去重构模型,这就不仅仅是你某个库方法能够单独解决的。

而且我还想问你,Spark很多自带算法,为了提高迭代效率,折中准确率,这事在底层源码上,你知道?

对于你而言,是会很多模型厉害,还是精心专研做好一个模型重要?这些问题都要多问问自己内心。

所以,要做好一个业务模型,首先,要有敬畏之心。

对自己交付出去的每一个业务模型要负责,特别是涉及用户利益,金钱方面的反欺诈场景。用业务运营人的话来说,在这个危机重重的互联网金融行业,宁可不撒网,也不愿看到忠诚用户被误杀,分分钟电话投诉就打到公司,负面消息就发到论坛。而且培养一个忠诚用户的成本是很高的。

听到现在,估计很多张美丽都被吓住了,还要承担这么大的责任啊,早知道就选择一个安全的行业,这高薪也不好赚啊。

其次,要学会对业务场景细分。

很多朋友喜欢调参,可有些业务场景是你永远也调参不对的。难道是哪里出现问题了?

就像用网捕鱼,你说用3指的网眼能够捕到1指大小的鱼?

就这个道理,用一个模型解决所有业务场景的美梦,你想都不要想。

最后,脱离业务只会让你沉醉在模型的海洋里。

这里的脱离业务,并不是说你的模型不准确,没找到核心向量特征。反而是你别只一味陷入调节模型准确率上去了,还要结合业务运营方向去综合评估。

简单来理解,就如上面提到的用户反欺诈模型,就算这个用户真是被羊头带领来的团伙羊毛党,的确存在异常。但是从业务运营上,如果他的表现有优质客户的潜质,那么我们还是会综合去评估该用户是个合格的用户,继续对他发放活动奖励。

以上三点,对于一个好模型来说,缺一不可。

看花不是花,看花还是花。此花非彼花,彼花非此花。

故事到这里,张美丽刘爱国接下来的路该何去何从,我们一起静静期待。也许张美丽茅塞顿开,重新系统性学习大数据挖掘。也许刘爱国还在一口高价去忽悠着面试官,长路漫漫。

插个硬广告:
1.上次和产品经理抱怨,账户余额必须满100才能提现的功能简直恶心到家。现在已经有20大洋,虽然差好远,但还是鼓励大家打赏,筹资满额提现。
2.我最近有心维护了一个学习圈子,能够帮助新人系统性,高质量的来学习数据挖掘、数据产品和数据分析。入圈的门槛只是一个心意,要是张美丽遇到,她也会加入。我还定了一个目标,年底前吸引35人加入圈子,目前完成了一半,期待有情怀的朋友一起加入。

你可能感兴趣的:(会调用Spark-Mllib库就是懂Data Mining?我却不以为然)