以上是关注我的一个读者的提问,说下个人看法,各位读者若是有什么更好的建议,欢迎留言区留言。
第一点,首先恭喜你是数学专业的。因为我们都知道,数学是一门自然科学,是一切工程学科的理论基础。如果你平时已经注重利用数学理论,去建模,去解决一些实际问题,那你的逻辑思维应该很强,而这恰恰是计算机科学最需要的,并且数学和计算机科学关系真的很紧密。所以你具备了学好数据分析的前置条件,这也是你的一个独特优势。
第二点,数据分析到底是干啥的?目前,大多数公司对这个岗位的实际要求是什么,我想这是一个大家都比较关心的问题。实话讲,我也没有对这个问题做过详细统计分析,只是根据自己所见所闻,说一下对此理解。首先,数据分析有狭隘的定义,也有一些广义的定义。
放眼目前的数据竞赛领域,数据分析的角色可定义为:分析数据原有的分布和内容,进而为特征工程环节提供支持。这就是一种 “微观” 意义上的数据分析定义。毕竟是竞赛,环境还是很理想的。
那么,企业里的数据分析岗也仅仅是比划比划数据分析和内容吗?大多数不是的。我不是数据岗,但是通过朋友那里了解到,他们的日常是去公司自己的大数据平台提数,一个稍微大点的公司,业务数据表多的让人眼花缭乱,光根据一个关键词,比如 order ,就能搜索出上百个业务表。这意味着什么呢?你就必须要对数据背后的业务背景、业务逻辑有一个清晰的了解,这些工作大多又是沟通类的,可能我们程序员们不太擅长沟通,但是这个步骤的确不能省。
接下来,当你知道需要根据哪些字段去串需要的表,根据哪些字段筛选过滤时,你可以动手写SQL了,所以SQL相关的知识,比如最重要的各个关键词的逻辑执行顺序要了解,这是不管哪门SQL都是通用的。如果你的目标是做挑战性的任务,建议你掌握一些:hiveSql + spark + 流式处理,这些都是大点公司处理大数据的必备技能。
当你拿到这些"第一手"的数据后,最重要的,你要知道你要用这些数据干啥?是要为了实现什么目的?比如分析数据是为了提升用户对某个产品的关注度,是为了拟合出一个更加合理的服务用户时长。抱着这些问题,做出假设,验证你的想法,再次修正假设,重复这个过程。
当然, 要区分结构化数据和非结构化数据,因为他们各自有各自的常用处理技巧。数据清洗,异常值、缺失值处理,等等工作,都是在这一步要解决的。
这些工作都搞定后,选一些合适的模型,从最基础的模型开始验证自己的假设,现在很多都是需要组成一个模型栈,或者模型融合,去实现更好的效果。可能每一步都要涉及到数据可视化技术,常用的包多多了解下。

第三点,如何增加项目经验?或者实战经验。可能在学校读书的还好,时间充裕,组个队,参加个比赛,大半个月就能混出一个"经验". 还能去找实习,每三个月换一个,毕业校招时,4,5个实习公司,写到简历上""。虽然我觉得这不是一种最好的方法,但的确有人这么做过。但是对于工作党,就没有类似的机会了,你做的工作可能目前只有和数据分析有一点关系,可能还得加班,那么项目经验从哪里来呢? 利用周末时间,动手写写代码,搜索一些别人已经做过的项目,最好带有较为详细的分析过程和代码的那种。自己动手敲一遍代码,理解数据分析的整个过程,理解透一些基本概念。如果实在没时间,反正也工作了,可以报一个课程,用投资来换取时间。最后,祝你早日找上自己想做的工作。
关于数据分析的更多文章:

Python与算法社区
长按二维码,关注我的公众号
继续阅读
阅读原文