本文写于8.10
昨天早上在办离职手续的时候,我有点伤感。确切地说,这一周在做收尾工作的时候都有点说不出的离别愁绪。这种愁绪又不完全是苦涩的,因为我知道我必须要离开,而踏上一段新的旅程是令人兴奋的,那么这种离开的难受就会减轻。
这段实习的到来就像天下掉下来一个大馅饼,意想不到,却又真的让我感到惊喜。两个月内我完完全全独立地完成了两个数据挖掘的项目,体验了现实生活中的数据科学的酸甜苦辣。现在记录一些所学所见。
现实数据的复杂性
工作中才会发现数据量之大,数据之杂乱。做第一个项目的时候,为了清理数据我花了两周的时间,把不统一名称、外文字符和冗余信息处理好。数据清理占了80%的数据分析时间,诚不欺我。数据清理十分重要,如果没有做好,那么后面的分析都不值得相信。而在这一部分,我也被迫用了面向对象型的编程方式,所有的处理方法变成一个个小模块,封装起来,让处理数据的方法更加清晰。
现实算法的实用性
说到聚类,一开始都有基本的概念,能说出来干嘛的。真到需要做的时候,就发现不是那么容易了。高维矩阵的降维处理,用哪类聚类分析,怎么解读结果,怎么证明结果是对的,这些问题都非常需要实践的经验。课本上学到的数据集是二维的,因为适合可视化,但是真正做的时候基本都是高维的,一些方法都会失效。
现实结果的展示性
数据分析最重要的一部分是输出。有了数据分析的结果,就需要和组内的工程师沟通。那么一些结果可能和他们预想的不一样,这时候怎么用数据来说服他们。我印象比较深刻的是,我得出的一个关于用户的结论和大家预想地有出入,一位工程师提出有没有办法查找之前做过的调查来验证我结论的正确与否。我非常能理解,因为对用户理解的一点点偏差都可能对整个开发组的方向产生影响。而对客户的调查追踪应该需要实时和准确。而很多对用户的描述的绝对值可能是有误差的。比如,怎么定义高端、低端,客观上高端的用户是否是使用我们产品上的高端用户,这些都是不同的。而对于这种分类的标准是相对的,需要现实的经验和对产品的理解。
现实项目的局限性
这一次在图形开发组做实习生,分析AutoCAD用户的情况,在这个组的好处在于自己可以相对独立地做研究和分析,坏处是它的局限性。对于用户的使用情况,一年做一次就基本够了,因为用户基本都是长期注册的。由于数据的私密性,只有一个月的最新数据可以保留,这就给分析带来了一些局限性。我问自己可不可以坚持下来做这个项目,答案是否定的。所以,这个实习也让我更多思考自己到底去什么样的地方做数据分析。
现实码农的多样性
我一直以为码农就是那种不问世事,码代码非常快速的,戴着眼镜的理工男。但是我遇到的同事不太一样,他们上知天文,下知地理。在吃饭聊天的时候,可以从美剧电影,聊到上下五千年,可以从时事政治聊到娱乐八卦,他们都可以接上话,并说出自己的观点,偶尔还能说个笑话,让你捧腹大笑。上班的氛围也很不同,他们不怎么说闲话,讨论技术问题,没有复杂的人事关系,没有无聊的浪费时间,我很喜欢这种轻松自由的工作氛围。
我记得入职的第一天,同事跟我说在这里实习很好因为不是打杂,而是真的自己负责一个项目,现在结束后我真的感受到了这样的好处。我可以不受打扰地研究算法,并付出实施。我可以自由地把自己的想法付出实践,比如把雷达图用动画的形式展示出来,比如把相关关系用NetworkX画出来,比如把热力图的标志标出来。当然很多技术的实现,谷歌一下就行了,你就会发现实际工作的需求才是技术精进的动力。当然自主负责项目也有弊端,需要完全依靠自己的主观能动性,在得出一个较好的结论后,是否还能找到更好的办法?没有上级的压力,需要自己自觉。
这次实习很重要,我觉得不仅是为了积累经验和学习技术,更是为了早日明确自己的职业道路。这次实习让我坚定了自己做数据的目标,在公司的选择上可能会偏向于有更多不同项目机会的地方,在工作方面希望自己在编程和展示方面各一半的工作性质,而我对于理解用户、用户关系和用户特征有更多的兴趣,在这一部分可以继续学习。团队的高效和轻松自由也是很重要的,而我更期望能有更多的年轻人一起,毕竟我还没玩够呢。
昨天和同事们告别时,我说后会有期,经理说江湖再见,是的,说不定哪天就遇到了呢。
网友评论