今天是开始数据分析学习的第一百天,像一开始预备的那样,今天会写一个阶段性的总结来纪念这一段短暂但是也很有意义的时光。
我,一个普通人,不是 985,211,不是留学,研究生,不是统计,数学,代码出身,不是工作相关,不是学生,没有专人辅导,通过不断的搜索,买课,阅读,提问,自学,只通过工作之余的空白时间,靠自己的智力和意志力,
认认真真的去做一件事,自己到底能做到什么程度。
所以从最开始,我就给自己定了一个目标:去完成一个百日作业。
历程
其实一百天里的最开始只是在朋友圈进行打卡来记录一下累积的有效学习时间,但是在一个月过去之后,我突然意识到,自己正在生产数据,而这一部分的数据,对我自己是很重要和宝贵的。于是就动手做一个 excel 表格,开始记录的整个的学习过程。
我自己看数据的话可以感受到 100 天里主要是分成三个阶段的,第一个阶段是从第一天到第 30 天,一共学习了 51 小时,空白 3 天,这里是效率最高的一段时间,因为这个时候自己在更多的关注一些理论知识,入门知识以及疯狂的去补一些教学视频。
去了解数据框是什么样的一个概念,了解一些数据语言的最基本的操作,包括一些很简单的命令,反复的去看。因为你甚至会在储存格式上的问题都遇到的不少的麻烦。实话说,在这一段学习里我浪费了不少时间在一些最开始完全想不到的地方,而且是各种书籍教学里极少提到的那一部分弱智问题上。
而这一部分用我朋友的话说是 “这是代码常识啊!”
……
抱歉,我确实没有常识。
所以我哪怕会写几个可视化函数了,却会弄错 utf-8 和 gbk 的编码问题,然后苦苦挣扎几个小时,毫无头绪,等等等等。
这真的是妈的智障的一段心酸过程,而且可以预见的,未来的日子还会出现几次的。
……
所以说那个时候其实是很充实,很快乐,但是也很痛苦的一段时间。因为那个时候获得的成就感是最频繁的。“啊,今天又学了两个小时”,“今天又知道了很多新的概念”,等等。
但是真正当 30 天后,最开始的非常激情的一个月过去之后,开始接触一些真正的操作和应用的之后。也就是从 31 天到 90 天的这段时间,对我来说,可能是更重视的一个过程。
进入 3 月中旬之后,工作开始忙碌了起来,在前 30 天中,自己再累也会腾出半小时的时间来翻看视频和阅读书籍。但是在 3 月中开始,工作开始忙碌之后,学习时间出现了第一次的大面积空白。
从第 42 天到六第 60 天,一共 18 天里只学了四天,最核心的原因是期间,涉及到了一次出差,出差前的工作准备,出差中的疲劳,出差后的报告波折…… 而这个时候的学习,涉及到更多的思考,更多的工具使用,很多时候并不是半个小时可以解决的。所以在知道自己不能保证效率的时候,我选择的是休息。
但是确实非常心疼。
学习很多时候,就是自己的情绪,理智,和自控力不断的斗争的过程。
而从记录上看,第 80 天左右的时候,又出现大面积段的间断学习,从第 78 天到 89 天一共 11 天的时间里只学了一天,而这一段学习空白,我的备注上也标记得非常清楚:
【外勤】,大量的【外勤】
而且由于工作本身的原因积累了很多的压力,当然一部分也是学习的焦虑造成的。这段空白的时间里还有一个五一小长假,我的备注栏里写着【没心情,休息】。
这个时候,我已经意识到了工作和这样高强度的学习是存在着一定程度上的冲突的,毕竟人的精力是有限。哪怕我自诩精力旺盛,但每当工作强度和压力上升的时候,学习就会非常明显的受到影响。也是在那个时候,自己开始认真的考虑停产学习的事情。
最后,在第 96 天的时候,我离职了。
然后就像突然后知后觉的,我开始真正意义上的,怀念起大学的时光,非常自由也非常纯粹的一段时光。也像很多人曾经做过的那样,慨叹自己的年幼无知和对于自由时光的奢侈浪费。
最后说回这次百日作业的实践。其实这段时间里,自己一直有去完成不同老师课程里布置的各种作业,但是很多时候是无法联系起来的,技巧上一些练习。像很重要是 sql 技能,常用指令其实不多,但是可练习项目其实真的少的可怜。而 kaggle 上的项目,经过几次尝试,我发现更多的是需要一些思路上的突破,需要很多的算法积累,模型学习,而这一部分,是我需要大量补习的内容。如果只是简单的做几个数据的可视化,其实并没有很大的重复意义。
所以自己也去开始想着:如果从实际应用出发,自己怎么去独立的解决一个命题呢?
遇到的问题
于是就开始了这次的作业实践,也遇到非常非常多的问题。
首先就是爬虫技术的问题,因为一开始在做 R 和 python 二选一的时候,我选择了名字比较短的那个,所以到后面发现 python 的技术可能更适合爬虫应用的时候,我的脸是非常傲娇的…… 通过取巧,采用了爬虫插件来工作。但是在应用的时候还是遇到了各种问题,首先就是因为智联的搜索机制问题,它在无法满足搜索机制的时候,会自动的填充其他内容,所以我当初爬到了 3000 多的时候发现爬取内容已经完全没有 “数据” 两个字了,然而工作还在继续!这就很窝心了。
但是那个时候根本不知道问题在哪里,只能重新再爬一次,然后定期回来检查…… 这工作居然要人工来做,可想有多窝火。而且因为不知名原因,gooseeker 爬取还会出现很多的爬取失败和卡顿现象,盯着那个爬取页面卡着半天,然后报错,然后下一个…… 这是一种很让人沮丧的体验,也是在那个时候,我下决心,还是把 python 追上了学学吧。
哎。
数据的源文件,我爬了整整 2 个晚上,然后只有 2000 出头可以用,后面整合爬取文件的时候,因为要通过 excel 的宏来操作,又是遇到各种零碎的麻烦,最后甚至还是通过笨办法解决的……
效率低下!心疼啊!
然后就是文本问题的处理上,首先我是想通过代码来进行职业关键词筛选的,后来发现研究了整整两天,最后发现现有的知识量,没有头绪去做到。查了半天就是找不到方法。最后不得已放弃,采用了观察,然后数字筛选的方法,也幸亏我当初是人工叫停的。否则还真不知道要翻数据翻到哪里去。
文本的第二个问题出现在月薪机制的筛选上,其实原本就知道这个东西通过 excel 的命令特别容易做到(毕竟我也是看【七周成为数据分析师 - Excel 实战篇 - 知乎专栏】才动的实践课题念头)但是通过 R 语言来实现的时候就遇到了各种问题,这个时候还没有人教过我的文本处理,也不知道去哪里问,问什么,只能到处逛,到处搜,搜到了之后好不容易处理好代码,然后发现不断的报错,最后长时间的 debug 然后发现是问题出在 “1000 以下”(别人都是 “6000-8000”)心情可想而知…
而后面在词云的文本分析和处理上,发现仅仅学会技术的话可提供的帮助太少了,文本分析需求的逻辑链条可能更模糊也更困难。尤其是在关键词不明朗的前提下。
最后就是代码优化和可视化的输出上。因为完成思路的周期其实很长,零碎的思路在最后回头再看的时候,又会有很多的想法。而在自己的数据阅读中,我一直想去尝试优化自己的思路和代码,这种尝试的过程会很,幸福。哈哈,不说笑,真的很幸福。尤其是在可视化的时候,这个图到底能不能清晰的表达我的思路,我全篇的逻辑线是否流畅,是我想要去完善的一个东西。可能一直是在从事比较务实的工作的原因,能不能尽可能的简单,尽可能方便拿起来就用,是我关注的重点。这个琢磨的过程其实给予我很多。
————
而在实践完成的时候我也如愿的拿到了我的作业的结论,也清楚了自己下一阶段的学习重点,而且也算增加了自己的项目实践素材。
最重要的是,我证明了,我可以做到。
路还长,而明天,就是 Day101 了。
2017.5.13