未加星标

【好文】以什么姿势进入DataMining会少走弯路?

字体大小 | |
[大数据技术 所属分类 大数据技术 | 发布者 店小二05 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

前言:大数据时代早已经来临,很多年轻人急着闹着想要跻身于大数据行业,不免也有一些不得志的中年人。自然而然的会报各种培训班,理所当然认为付出总有一天会赚回来的。但却走了不少弯路,花了不少钱。倘若在我写的文章中,能有所启发和收获,希望诸位能够以恰当的姿势进入DataMining吧!

画外音:看过身边花1w+大洋报培训班,周末夜里坚持学习的同学;面过硕士、博士甚至留学交换生,但结果总不尽如人意;现如今堪比前端一样浑浊的算法领域,让人担忧。 承认一点,每个人都在进步,每个人都走过弯路,曾几某时,自己也一腔热血的写过一篇文章,后来分享了出来 “神爱众人,于是带来python” 。目前来看,那篇文章写得并不好,感兴趣的可以去看看。 前不久,给公司同事做算法培训时候,说了自己在算法领域的四点信仰,可以和看官一起分享:

信仰1:不以具体业务场景出发,不考虑大数据并发实现的数据挖掘,都在耍流氓;

信仰2:知其然,晓其所以然,万变不离其宗,必定变化莫测,这正是算法魅力;

信仰3:在DataMining领域,不做两种人。一种是工具人,一种是研究者;

信仰4:拥有健康、丰满的数据,业务场景建模已经成功90%以上了;

余下的内容,也将对上面四点分别做阐述,附带案例说明:

学会考虑业务场景建模,多思考大数据并发下的实现:

案例1:一些网络授课,每当提起分类算法,最常用的典型二分类是男性和女性判别?

a.普遍的讲解流程,介绍各种分类算法,DT、LR、NB和SVM等等;

b.接下来,考虑用户一些基础的网站行为数据,平均访问时长、nick、浏览page、每日pv等等;

c.最后,带入数据,套用模型,个别还会考虑清洗数据,一切就Over;

一堂简单网络授课,也许不能面面俱到,

但也绝对不能错误的引导DM(数据挖掘)的核心要领。

比如:

让学习者认为算法是整个数据挖掘的核心?数据挖掘就是随便找到数据套用模型,甚至工具包就OK了?

很多很多不恰当的思想灌输,正是让现如今算法行业鱼龙混杂,我也不是批判者,也不是熬鸡汤人。我会这样简单去介绍,二分类场景下的男性和女性判别:

Step1:Where 在哪个行业下的用户性别判断的场景需求?(比如:电商行业)

Step2:Why 需要去分析用户性别?(现如今,在资金有限的情况下[广告费,站外流量和短信等等],精准化营销的需求越来越强烈,同时用户体验也会是至关重要,如何做到千人千面?如何提高整个平台,或者商家店铺的成交转化率、用户回购率和用户粘度?甚至如何给每个用户展示他所想看到的宝贝详情页?这些的这些,都是需要对用户,乃至店铺、商品和品牌进行画像,构建标签体系,其中就包括用户性别!) Step3:What 如何去分析用户性别?(在数据挖掘中,特征选取不当,模型构建不当,都会容易引起[欠拟合]和[过拟合],因此在电商行业的用户性别分析,首先明确一个概念区别(用户网站性别和用户线下性别),顾名思义,一个是用户真实性别,一个是用户在网站的行为性别,而真正对我们有意义的,当然是后者。因此,在考虑用户性别分析特征时,核心要素是考虑用户在平台购买过的类目行为(每款商品在设计之初,都会明确目标群体)。

但是,毕竟会存在很多用户是新用户,这也正是模型的冷启动问题。如果你认为算法是最厉害的,到这里,你会无能为力;但如果你够了解业务,了解数据,你会观察到用户的收货姓名(但,注意,经验表明,每一个电商购物用户,都可能会存在多个收货姓名 ? 甚至存在非姓名的收货姓名?剩下深入的细节,需要建模之处进行合理把控的)

Step4:When 什么时候去分析用户?(通过上面的分析,想必已经够清楚了,模型构建一定要场景化,也必然场景细分,也有就用户细分!这里主要分三类,a.新用户,b.购买行为数在一定范围内?c.高频购买行为用户?

Step5:How 去分析用户性别?(整个二分类场景,模型被我放在最后,希望学习数据挖掘的同学,对于业务和算法的分量,要在心目中有分寸。这里会考虑冷启动模型、分类算法(比如朴素贝叶斯)和符号模型的组合。这里灌输一个思想:模型 != 单算法,而是由多算法+一系列规则逻辑组合而成)

[总结]:一堂课程,还是花了很多培训费,即使不能阐述太多,但我想,如果通过上述方式,会不会更恰当呢?

案例2:很多学者不考虑大数据并发的实现,玩习惯性的单机版时间久了,很难走出这道坎。比如很多人用协同过滤,考虑过大数据量下大矩阵相乘的实现?

知其然,晓其所以然,万变不离其宗,必定变化莫测:

案例3:很多使用算法,甚至数据清洗方式的同学,更多是将知道的方法组合在一起,认为这就是数据挖掘?

我想,这也许还是

网络课程给学习者带来的诟病吧!

因为课程上已经千篇一律的讲述了数据挖掘的流程体系,所以学习者都会这样做:

a.业务场景需求出现:不假思索就采取能想到的特征变量;

b.不考虑数据清洗,不考虑归一化,无量纲化处理,甚至异常和缺失值,就直接进入模型;

c.不了解具体某一个算法的原理性,一味的用各种工具包,甚至扯上了Spark,R,Mahout 和python等等,输入数据就OK了;

……很多很多,毕竟我不是批判者,我只是希望大家能够做一件正确的事,再正确做好这件事!

如果换做我,我会这样思考!

Step1:业务需求出现时,多向专业运营人员了解业务背景,结合自己理解,确定初步的特征变量,观察数据分布;

Step2:考虑异常值和缺失值处理(这些都是观察数据找到的思路),甚至结合数据分布,采取合适的无量纲化处理方式, 甚至一定程度上降维;

Step3:结合业务场景建模,用户群体细分,确定模型选择,以及所选算法,比如NB(朴素贝叶斯)。

Step4:需要深入了解朴素贝叶斯的原理,知道优势和不足,甚至优化方向(比如:取Log、加平滑曲线等)

[总结]这里只是一个大概的思路,如果课堂时间允许情况下,用具体二分类(性别判别)的案例分析流程,这样学生能够领悟到更透彻。而不是一味的就那几步数据挖掘步骤!

在DataMining领域,不做两种人。一种是工具人,一种是研究者:

做数据挖掘,如果真正热爱这个行业,并希望落实想法,不推荐大家做以上两类人,工具人和研究者。

[工具人]:面试过很多人,(这里谈离线批处理)基本都是Python(很多面试者被豆瓣电影评分的案例害得不浅啊!),很多一味追潮流,也整一个Spark来调包,认为就是懂数据挖掘了,甚至Mahout和R等等;

PS:我曾经反问一位面试者,如果让你招人,你会愿意选择,只会用包,缺乏思考怎么去用?为什么这样用?甚至如何改进和组合的人? 显而易见,面试者的答案是不会招这样的人!

我这里不是批判工具如何不好,曾经大学,我也只是会用Matlab、Spss,甚至Lingo。毕业初期,也只是会用Python和R等。我主要说的是,优秀的模型,不单单是某一个算法能够解决的,其中还包括很多组合算法和逻辑规则。单独的使用工具,结合业务的个性化需求会得不到很好满足,甚至如果让你调优算法,一方面你缺乏算法原理的理解,另一方面,你修改源码的也会很费脑、费神啊!

[总结]:技术没什么吸引人的,它的魅力在于服务业务,通过业务发展来驱动技术提高。这里推荐MapReduce! [研究者]这类人,不过多讨论,毕竟这个社会是需要这样一类人存在的,我也很佩服他们。 我前面说的前提是,如果真正热爱大数据下的数据挖掘,并落实想法,还是直接作为一个实践者吧! 拥有健康、丰满的数据,业务场景建模已经成功90%以上了

越到最后,阐述的理由会更少。因为,该说的都已经说了!只想劝各位数据挖掘爱好者、实践者或工作者.好的模型,不是用了如此NB的算法模型,而是优秀的泛化能力,而具备泛化能力的模型,缺乏良好的数据源,会是一棵长不大的树苗的;

Google的阿法狗如此厉害,和它完备、真实和健康的数据源密不可分的!

来源:大数据杂谈

作者:汪榕,专注电商数据挖掘,数据化运营方面。

除非注明来源,本站文章均为原创或编译,转载请注明出处并保留链接。数据分析网 【好文】以什么姿势进入DataMining会少走弯路?

tags: 用户,算法,数据,模型,挖掘,性别,场景,DataMining,业务,建模,电商,案例
分页:12
转载请注明
本文标题:【好文】以什么姿势进入DataMining会少走弯路?
本站链接:http://www.codesec.net/view/425048.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 大数据技术 | 评论(0) | 阅读(217)