作者:wrchow
浙江大学计算机硕士,通过自己的努力终于拿到了心仪的offer(搜狗Web数据挖掘助理研究员),实现了从事互联网数据挖掘的梦想。他对数据挖掘这个行业的兴趣,以及为了进入这个行业所做的准备和努力,非常值得想进入这一行业的在校生或朋友们参考。
由于本科专业是生物信息(可以理解为生物统计学或者与基因数据相关的数据挖掘学科),所以那时已经开始接触数据挖掘,对统计也算有一定的基础。记得大二的时候,我便开始学用matlab,然后玩弄SVM,神经网络之类的机器学习算法做一些分析和实验。现在想想那时候可能连这些算法的基本概念都不是很清晰,算是皮毛都不懂。但有一点就是,让我对这类算法不怎么畏惧,甚至于非常感兴趣。本科的时候,发现自己对生物兴趣不大,倒是对编程颇以为是,所以读研又改学了计算机。虽然换了专业,但我对数据挖掘仍然兴趣不减。在研究生阶段,涉及数据挖掘,机器学习,高级数据库之类的课程我的成绩都是90+,这至少说明我很用心。总之,读研这几年我也在不断地规划着自己的数据挖掘之路。然而,数据挖掘是门交叉学科,涉及的内容很多,而且还需要理论联系实际,要掌握起来其实是非常困难的。我曾经非常幼稚地认为,数据挖掘无所不能,适用于各行各业,却忽视了数据挖掘非常难以掌握的一面。首先,要构建完整的数据挖掘理论知识体系;其次,要能够 深入到具体的行业或市场进行具体项目的实战。至于学习数据挖掘的前景,推荐看看一篇博客,扒一扒这个数据挖掘行业,黄油和面包。这篇文章算是资深人士对数据挖掘行业一点点小小的爆料,感觉对于我这样的初学者来说,有着高屋建瓴的作用。
1. 发现SASlist
学习SAS源于我当初想去金融行业做分析师的想法,而这个想法又是源自于自己的MBTi测试的结论。算起来开始学sas应该是10年下半年的时候,我先是买了一本《SAS编程与数 据挖掘商业案例》,后是看了《The little SAS book (3rd)》电子版,还有SAS认证考试 样题-123题。我还在saslist上建立起了博客,分享了一些学习心得,还有找实习的一些经历。而我对sas的学习经历,也就集中在10年的下半年这段时间了。后来到了11年初, 偶然间看到统计之都上,举办第一届数据挖掘挑战赛的信息。我便花了1个多月去参加比赛,再后来便去找实习。到现在不知道自己还会不会继续学习sas,但saslist确实对我的数据 挖掘之路,起着承上启下的作用。在这里很容易让你融入一个学习数据分析,数据挖掘的圈子,很多前辈们的精彩博文都对自己起着极大的鼓舞作用。
2. 数据挖掘挑战赛
没想到自己参加的还是全国首届数据挖掘挑战赛(编者注:2011年统计之都cos.name举办),看来真不知道是自己的数据挖掘之路起步早,还是国内的数据挖掘起步比较晚。总之,我是抱着实战的目的来玩玩的,很可惜的是没有组队成功,虽然中间还硬拉着sxlion来玩了一下,不过他那时候好像确实也比较忙。从题目和赞助方(世纪佳缘网)来看,这是一个典型的Web数据挖掘如何做用户推荐的案例。提供的数据如下:
profile_f.txt,女性会员的资料,203843条数据
profile_m.txt,男性会员的资料,344552条数据
test.txt,原始数据
train.txt,原始数据
评分指标采用的是NDCG@10。对这个指标并不陌生,因为去年还选修了Web数据挖掘那门课, 那位老师还是从加拿大过来的,当时听得还挺认真,这里推荐一下他这门课的主页,还有 他指定的两本教材:《搜索引擎:信息检索实践》,《数据挖掘:概念与技术》,后一本的书的作者正是他的导师。本来一看这个题目是做推荐,于是我就想到了协同过滤,试了一下又发现不行,其实这些数据是非常稀疏的而且是冷启动的,后来又尝试了回归还有SVM,总之效果都不是太明显,感觉是自己特征选得不好。赛后,看了别人的经验贴,居然投票是最简单有效的,可以极大地提升预测精度。反正,我也是对数据挖掘都还没入门就去参加比赛了。这次比赛算是第一次接触真实的用户数据,并且用来解决一个十分现实的问题。对推荐用户的预测精度的提升,是可以直接带来可观的经济效益的。这次比赛的另一个收获是,我开始学习python和看《集体智慧编程》这本书。现在好像又有腾讯赞助2012知识发现与数据挖掘挑战赛,感兴趣可以去参与一下。
3. 实习与工作
saslist还有一个好处,就是可以查看到一些数据分析相关的实习和找工信息。其实,这些信息还是蛮管用的,我还因此拿到过人人网数据挖掘工程师的offer。在我看来,数据分析相关的职位大致分三个板块:医药、金融和互联网。要去医药行业,可以多关注胡江堂的博客,还有中南大学统计系的本科生韩帅同学的博客。金融行业的话,可以多关注一下人大经 济论坛等;我当初投过一家叫discover的上海公司,好像是从大摩分出来的,专做信用卡这一块的,面试的时候如果懂sas还是有加分的,当然外企可能更注重是你这个人本身的一些基本素质。因为,我最后还是决定去互联网行业,所以我的就职经历也都集中在几家大的互联网公司。
在刚参加完数据挖掘挑战赛之后,也就是去年4月份了,那个时候很多大的IT公司都开始来校园招聘实习生。由于我本科毕业之后,决定读研,也没找过工作。所以,这个时候找实习,也算是为我找工作赞经验。我投了百度的数据挖掘工程师和淘宝的广告和搜索发展部的产品经理助理职位。前者的具体情况可以参见我的博文链接,至于实习我还是去了后者,因为淘宝就在学校旁边。在淘宝的实习经历算是我真正意义上地走出校园,也坚定了我去互联网行 业的信念,我喜欢像淘宝这些的互联网公司里那种从上而下,自由而又年轻的氛围。也正是在淘宝的实习,让我切身体会到了互联网广告市场的盈利模式,以及如何通过数据挖掘来提升淘宝的生态平衡和盈利空间。感兴趣的同学可以去读读淘宝搜索技术博客。
4. 总结
我找工的经历,其实十分地短暂,也就集中在那几家互联网公司,这里也就不细说了。值得一提的是除了我在实验室做的项目外,那次数据挖掘挑战赛的经历,往往会非常引人注意, 因为那个挑战赛是非常贴近互联网公司做数据挖掘的实际的。而且,参加比赛本身也说明你本来的兴趣和积极性都比较高。
最后,再总结一下我的数据挖掘知识体系:
1. 统计学基础:《概率与数理统计》、《生物统计学》;
2. 编程语言与工具:SAS、Matlab、Python、R 等;互联网公司,还需要 Linux Shell, Hadoop, C++, Java 语言等;
3.数据挖掘理论:《集体智慧编程》(python)、《Web数据挖掘》、《SAS编程和数据挖掘商业案例》,另外还推荐一些开放式课程,我认真学习过的有 CS229(stanford 的机器学习课程);
4. 参加贴近商业的比赛或者去实习。