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

//
会调用Spark-Mllib库就是懂Data Mining?我却不以为然 -
http://www.jianshu.com/p/47f07cf9d4fd
这样一句话,我说过很多遍:好的业务模型不单单只是一个算法而已,它是由多个算法和业务运营规则来组合在一起的。

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

//
我举了一个实践中的案例——识别P2P平台欺诈用户的场景
就比如羊毛党群体。

我闭着眼睛,用心来猜,不出所料,肯定这三步:
首先,确定为一个分类场景模型

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

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

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

//
从业务模型角度来说,这里面就不仅仅是分类算法能够解决到的。
除了去判断用户是否为羊毛党,还需要去识别该用户属于哪一种类别的羊毛党群体,也就是用户细分。
通过模型的确能得到了用户的异常情况。
可最后的关键,还需要结合业务运营的角度,利用业务规则去综合评估用户的风险,最大可能去挖掘出异常用户群体中的潜力用户。
这才是业务场景模型所在做的事啊。
顷刻间,张美丽感觉自己被坑了,培训平台老师,你出来,我张美丽保证不打死你。

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

在构建模型上,很多朋友对于算法库的依赖比较严重,特别是学习Spark,认为会调用Mllib库就足够了。别人是如此优秀的开源团队,写出来的算法执行效率也不会差到哪里去,况且这些常用的分类、聚类算法也还不都这样?直接调用不就OK了?
当初的张美丽也是这样想的。
可是话虽这么说,实践的业务场景却不敢这样去做。如果只是线下测试某一个分类算法的准确率和召回率,看看分类特征选择是否精准,那么你当然可以去调用一些现成的算法库去证明自己的想法。
可是往往到正式发布业务模型,个性化结合线上业务去重构模型,这就不仅仅是你某个库方法能够单独解决的。
而且我还想问你,Spark很多自带算法,为了提高迭代效率,折中准确率,这事在底层源码上,你知道?
对于你而言,是会很多模型厉害,还是精心专研做好一个模型重要?这些问题都要多问问自己内心。
所以,要做好一个业务模型,首先,要有敬畏之心。
对自己交付出去的每一个业务模型要负责,特别是涉及用户利益,金钱方面的反欺诈场景。用业务运营人的话来说,在这个危机重重的互联网金融行业,宁可不撒网,也不愿看到忠诚用户被误杀,分分钟电话投诉就打到公司,负面消息就发到论坛。而且培养一个忠诚用户的成本是很高的。

//
其次,要学会对业务场景细分。
很多朋友喜欢调参,可有些业务场景是你永远也调参不对的。难道是哪里出现问题了?
就像用网捕鱼,你说用3指的网眼能够捕到1指大小的鱼?
就这个道理,用一个模型解决所有业务场景的美梦,你想都不要想。

//


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