大数据时代下成为做一名优秀的职场新人职场人的最大挑战

酷勤网 C 程序员的那点事!
当前位置: >
浏览次数:次
  一位仁兄说的&程序员写的程序不是算法+语法 ,而是要能够满足用户需求的工 具&我非常赞同,要想达到用户需求就必须从各个方面来考虑如业务、人机交互 、效率等方面,而不只是一个语言(语法)的问题,语言(语法)只是工具,只 知语法不知其他那就真是编程机器了! 编程机器在印度高中生经过几个月培训,按照严谨的软工方法,加上较高的管理 ,就可以胜任了!大家相信吗,我是相信的!谈到这里我就不禁说到了国内教育 界最近在探讨的问题&计算机科系的毕业生特别是本科大专生到底出来干啥、如 何适应社会要求&,大家也看到了很多计科系大学生说精通N种语言,熟悉N种工 具,不知道学校里的其他知识到那里去了,甘愿做编程机器,浪费了人民的纳税 ,干高中生能干的事,比较可惜吧!在国内现在就是这样了,看过一则帖子:清华的计科系毕业声在建筑院里搞开发还不如建筑专业的毕业生。说着说着就岔道 了,国内的软件开发业到底是需要那些人:如果仅仅是编码机器,那我估计中国 硅谷还是做梦去吧!
  社会似乎也需要编码机器,翻翻招聘广告,做应用开发的都要求精通某某语言, 熟悉某某工具,很少需要懂管理懂软工的人。以我个人一点偏激的想法,民族软 件产业要腾飞,更需要的是能管理使用编码机器的人,即管理人员、国内软件产 业编码机器已经很多了。希望不要惹怒了那些编程高手! system develop与Application develop在国内到底哪个能养活你,能赚钱,诸位 仁兄想必也知道,况且俺也没发现几家水平高的公司招这方面的人,毕竟OS,DB MS,COMPILER都被国外做了、另外也别跟我谈LINUX,毕竟还是少数烧钱的人做的 事情,我先喂饱肚皮再说。我手下的很多搞4GL语言的程序员都想转行学VC等所谓 的更低级的语言,我总是说&在XX城市,先用4GL工具生存,以后再学习VC吧!& ,说的简单一点先解决肚子问题。如何判断自己是否是编程机器?
1、面对需求不考虑用户,只是考虑用那些程序技术展示自己的语言语法技巧 . 2、学习了N种语言 . 3、从来不学习或实践软工 . 4、语法语言水平在众人中遥遥领先、特别是一些稀奇古怪的语法 凭着兴趣和创造力去干,却重复繁琐的劳动。 做着没有意义-唯一意义是赚钱,而且真是出了半斤力, 拿不足八两。 终日劳累,却不能学自己想学的。最终结果是跟不上社会科技的发展 ,人已衰老。悲哀!!!  开发软件的关键是要有想法,一个好的想法比什么都重要。尤其是有关网络方面的就更是如此。   入门还可以,但是要继续深入了解可能要难点。 未必吧 偶觉得大学里的高数数理方法之类的, 如果你不是做研究的话, 应该是很少能 用到的 不过如果说到离散之类的, 倒还是时不时的能有点用现在的程序员比起十年前是不是要花更多的时间来 查帮助呢。系统越来越大,手册越来越厚,软件开发的 周期是不是越来越多的淹没在查帮助之中了呢。    实际上一个程序员最终的技术需要和实际相结合。真正在编写程序到达一定时候,语言的使用并不是最大的障碍,对整个项目的把握、软件工程的把握、数据库的设计以及执行效果的分析等等才是需要进一步考虑的东东!否则,为何大多数公司到要求有编程经验了!这些不是程序员必须学的。但数据结构,编译原理,操作系统原理等是必须要学好的,英文的多看,不懂计算机英语可不行。实我不是什么中专生,而是我读的中学和一个私人办的电脑学校联合开的电脑专业(并不是我中考考的差,而是这个学校太贪钱了,才被录取到这里,恼火,我们班里中考成绩从两百多到四百多的都有,我就是四百多分(重理轻文的结果,要不然...),当时读书的时候,我是班是的高手(其实只是比其它同学懂而已),大家叫我dos,因为当时学的都是dos的内容, 毕业后还没有对编程很感兴趣,只想找一个电脑的工作就可以了,哪怕是打字的,可是看报纸,去人才中心,看到都是要大学的,为此感到很失望.也对电脑失去了兴趣.后来学校打电话到我家,说厦门厦华公司要招工,要不要去,我很快就答应了,因为当时没工作,天天呆在家里.后来打工的时候,天天象一个机械人一样,重复着同一道工序,因此经常在深夜的时候,思索着自己的未来,由此重新生起了对电脑的感情,因此经常买电脑杂志和报纸看(可以堆成一座山了).由于离我住的地方不远处,有一个电脑培训的,所以经常到那里上机,而在学校里学过的软件也只有FOXBASE和WPS,其它的不值一提,所以上机经常用foxbase,直到这时候,才对编程产生了浓厚的兴趣,一年后,自已买了一台电脑,开始认真学习编程.由于我是属于职业中专的,因此经常想,就算学得再好也没有用,所以想考程序员,而考程序员要懂得c语言,所以就学习turbo c,学完了,学数据结构,同时看"C高级实用程序设计",澳门回归和2000年的两个晚上,我都是在编程中度过的.由于我这个人对书很感兴趣,经常在星期六,星期七去书店,而在书店里,也是看编程方面的书,而看到的编程书籍大部份都是windows方面的,为此也经常思索着学dos编程到底有没有用.后来,春节放假(要2月13日上班)回老家,天天去新华书店(正月初一也去),看到也都是windows编程方面的书多得像狗屎一样,所以就下决心学windows编程,因此正月初四(快餐店还没有开张)就去厦门了,很快买了delphi的书和d版delphi5,疯狂地学习(到目前为止,买了8本delphi的书,因为国人的写的书实在太烂),而由于遇到不懂的又不知道怎么办,为此想到了网络,但在外打工不可能上网(上网吧太贵),所以就辞职了(4月21日),现在,程序员考试快到了,是报还是不报一直犹豫不觉,困此才有此问题.打工的岁夜,我永远不会忘记,因为付出太多了,也失去了太多(坏了两个光驱,瘦了几斤),直到现在,脑海里还不时浮现起那几个无眠的夜晚.忠心感谢大家.我不认为编码的人就是机器, 而系统分析就不是机器, 其实系统分析员就是销售的机器, 所有职员有是老板的机器.它们之间这是不同工种吧了, 当然对系统分析要求要高一些, 薪水也高一些, 但更让人佩服的是销售, 是他们驱动了整个的运作.我也是个中专生, 还是学机械的(后来自学了计算机), 我非常了解在传统的制造业是如何的规范, 设计人员设计图纸, 然后经审核, 再到车间试样, 再根据情况, 修改图纸, 如此反复几次后才能一个产品定型,而在软件界, 就没那么好了, 领导会说, 这个你做, 那个他做, 也没有经过很细的分析(国内很多都是这样), 在我们这里也没有系统分析员, 每个人都是设计员, 也是编程员, 虽然这样对个人来说, 能学到很多东西, 但不利于项目.我国的软件过程水平,确实令人担忧, 目前为止只是, 几个人十几个人的小软件, 还没有能拿得手的大型软件.至于中专生编程问题, 我认为只要入了这个行, 就不会比本科生差, 因为对他来说没有优越的学历条件, 那么只好埋头苦学, 但这正好适应当前计算机软件迅速发展的今天, 学历只能代表过去和基础, 更需要的是有能力的人, 解决问题的人, 实干的人.对我来说确实有时有点自卑, 没有上过高中和大学(由于那个年代, 我只知道能为父母减少一点负担就行了), 所有我一直在努力的学习(corba, uml, java, 软件过程等), 目前为止我并没有觉的我的构架能力和编码水平比他们差, 只是觉得E语言实在太差.过计算机本科又如何?我有几个同学到银行去搞业务了,有同学任教,有同学收税去了......60多个人真正现在搞计算机的还就只有几个人,再看看当时这些计算机本科生的毕业设计,//faint有的人到最后连vb都搞不定,但他们什么编译原理啦什么组成原理啦什么软件工程啦学的(应该是考试的分数)真还不错,至少我感觉有些概念比我清楚(上课没听?)所以我觉的中专生并不比一般大学生差(当然有些重点学校除外//hehe),有时中专生有更大的压力逼迫自己去学习,学历不是重要的,关键是一个人的素质.我们不能将目标定位在做程序员或编码员(Coder)上光会写代码有什么用?那叫&编码员&,在国外是属于体力劳动的,不像国内,会写程序的就叫高科技。重要的是分析问题、解决问题和规划的能力,系统分析,系统设计及项目规划才是正途。这就需要学习所谓的基础课程了,如:软件工程、离散数学、数据结构等等。从vb到现在开始学vc后,一个人捣鼓了几天也没有什么新发现。跟本不知道VC的编程思想是什么,请大虾们告诉我,它和VB的差别真是太大了。VC的博大在于MFC的操纵,它是Win32API的封装.思想在于怎样了解MFC的内幕,它的运行机制.差别也大,差别也不大!这要看你对API的理解了,虽然VC++的可视化没有VB的好,但是不是绝对没有的,其对而且对话框的编辑是跟VB一样的,不过不是像VB那样放在第一个界面罢了,VC++的博大精深是VB难以望其项背的!:)而且VC++是完全面向对象的编程工具,而VB是不够完全的面向对象编程工具,VC++是完全编译语言,VB是本地编译语言,不够完全,VC++效率高,封装性好,继承性高,VB效率相对低了很多,但界面友好,二者只能取其一,或者使用VC++,VB辅助(因为VB开发快),当然Delphi,BCB也是不错的选择。   程序员不应依赖开发工具,程序员更应该拥有的是一种思维、一种精神、一种观念。就像Richard.M.Stallman一样,有自己的精神,为自由软件而奋斗。就像求伯君,为民族软件的振兴而奋斗。这才是真正的程序员。
  应该说,他们更注重的不是技术,而是软件的思维,软件的灵魂!!我刚学VC的时候,还没有上网.身边也没有一个可以问的朋友,所以大部份都是自己啃的.那种感觉真是很痛苦. 现在在网上就不同了,可以得到太多的资料了,而且还可以得到在线帮助.但这些都不是学习的关键. 相信各位也知道VC的难度,并不是那么容易上手的,所以要想学会,学好VC,靠外力是不可能的.主要得靠自己. 自己要有一份难得的毅力,对编程的狂热也可以在一定程序上起到帮助.我就是这样的.起初,没有人帮我,我学习VC是三天打鱼两天晒网,学习进度很慢,幸好对编程的执著,使得自己坚持下来了. 如果你从来就没有接触过编程,那你学习VC的速度可能会比学过面向过程编程的人要慢一些,因为你要去理解命令及语句的含义.但只要你努力,并且可以得到别人的帮助,我相信在半年内会对VC有一定的认识. 请学赤面向过程编程的朋友也不要笑,因为面向过程与面向对象实在是区别太大了.就拿封装一词来说吧.当初我是左想右想才想通的.所以不要自己学过编程,就会在学习VC的通道上比别人轻松. 现在有一种现状应该让我们注意.我发现有很大一部份初学者觉得VC是一种语言,C++又是另一各语言.我在和一些初学者的交谈当中,查觉到了这一点.有的初学者竟然还认为我学VC为什么就一定要学C++?我想这个问题是我们大家都没有注意到的一个问题.就是向初学者讲述C++对VC学习的重要性. 我这有个例子,跟大家讲一下. 我有个同学,他接触编程比我要早,在我还在为VC中&::&符号怎么标记的时候,他已经在学习C了.后来,我对VC稍有理解的时候,他也发觉C的跟不上时代的脚步了.我便提议他从C++语言学起,可他认为自己有C的学习功底,根本就用不着再去学习C++.可在学习VC的当中,遇到的困难真是数不胜数.最近,他还是去买了一本学习C++的书.从头再来学习C++. 我希望通过这个例子,能让广大的初学者知道,C++对VC学习的重要性。
  学习VC必须有狂热的编程热情,否则是很难坚持下来的,我周围就有几个这样的人,他们比我先学VC近半年,但现在仍然学不会,而我现在虽说不是很厉害,但基本的应用程序是不在话下,我就是天天看书,上机实践,几乎所有的时间都泡在里面,有时连吃饭都在想,为什么,因为我确实想啃下这块硬骨头,我不想半途而废,我觉得学习VC不仅仅是学到了更多的东西,最主要的是培养了我们自己一种坚持克服困难的毅力。
对于VC,我有几点经验: 1。技术为本,语言为次. 2。MFC的单个类有用,DOC/VIEW要小心。 3。OOP要小心,使用不当反而造成大量的工作和糟糕的代码。 4。如果可能,考虑选择使用Delphi(CBuilder+VCL)。 5。到了一定程度,一定要学COM。
  要学VC,必须有对C++深刻的理解,对WINDOWS运行机制的深刻理解。尤其想成为VC高手。举例 , 对于虚函数,不仅要知道有这么一个东东,更要知道它的内存镜像 。这样才能对VC中很多的东西举一反三,事半功倍。本人学习VC近2年,但自觉第一年由于心情浮躁,把VC的书翻了一遍又一遍,却每次都只看了一点就无法再深入。直到毕业前夕,痛定思痛,克服浮躁,认认真真的从最基本的开始学,把每一点都搞的水落石出,经过三个月的刻苦,终于大成。直到现在,半月搞定COM/DCOM,都托当日刻苦之福,因此劝告想学VC的朋友,一定要顶住开始的艰难岁月。成功属于刻苦者。   每个人都有自己的学习方法,也许这种方法对我来说有用,但不见 得就对所有的人有用.所以,请不要盲目的跟着别人的学习方法学习,要思考属于自己的学习方法. 但我还是会向大家说出我自己认为比较好的一种方法. 学习编程其实与学习其它东西一样,要想掌握它,就要实践,实践,再实践.当你学到了一种新的技术或知识时,多实践是巩固学习的一种最好最有效的方法. 这个实践不是照著书上的例子做一遍,而是根据自己的能力,给自己出题,然后去完成它.只有这样,你才能发现自己的不足,同时又增加了自己的编程经验. 但要成为合格的程序员,光会写代码是远远不够的,更重要的是思考.谋定而后动,是不变的真理.
  在我的理解,VC只是一个编程工具,就如BC、BCB、Delphi 一样,其实对于编程最根本的就是三个方面,语言、开发包、 操作系统API,他们三个方面应该说是相对比较独立的。   VC是MS开发的,所以针对的是windows api,你可以不会C++, 也可以在VC下用C写出很优秀的程序,当然如果你比较熟练C++, 并且熟悉开发包MFC的话,工作可能要轻松不少。所以在我看来,学习的过程可以是这样的:
1、先学习C或C++,在windows的console环境下编写不太深入涉及API的程序; 2、在基本上掌握了语法之后,开始接触简单的系统API,学习 Windows的编程原理和机制; 3、在可以编写简单的菜单程序,可以简单地在WM_PAINT下操作 GDI函数后,开始学习MFC,可以从Step tourist学起,看MFC的源代码,理解几个关键的宏的定义与实现,特别是MESSAGE MAP。 在学习的过程中为了给自己增加点挑战,尽量不要使用resource edit,试着自己编码实现控件的创建,消息的响应。 再就是看自己的造化了,动手做一些小工具,特别是自己平常需要的,对自己的提高也应该是很有帮助。 究竟我们要的是结果!良好的分析问题高效清晰地肢解问题的能力才是我们真正要不断学习的吧?
   和学习其他知识一样,重要的是获得提出问题,分析问题,解决问题的能力,不是为编程而学习,你具有什么样的思想,就会写出什么样的程序。学一门语言,不能仅仅是语言,要注重语言背后的思想方法,看他是如何来解决某一问题的,为什么要这样去做,他总是要符合客观事实的,就像人说的话一样,存在某种逻辑,数据的组织,信息的传递,靠你自己的头脑去建立,然后看C++中有什么可以帮你的,该怎么样用他来表达自己的想法。只要你认真实践,努力去做,寻求乐趣,就会达到目标。我虽然 真正认真学习编程的时间不长,但现在我是认真的,就有了以上的体会。   学习VC++有相当的内容要学,而最后的深度则看个人的悟性与勤奋了。
1)掌握最新标准的C++。(2个月) 如果曾经在大学里自以为学过C/C++,还对dynamic_cast/static_cast/template/try/catch/throw/stl/...感到 陌生,那你该Refresh一下新的ANSI C++标准了。 ----此与VC++无甚关联,g++/bcb均有所支持。 2) 学习SDK编程;:-O (6个月) 痛苦是暂时的,必要的,坚持就是胜利! 建议用Lccwin32/Masm32/Tasm编写小而精的工具软件; &Windows Programming Guide.& &Advanced Windows programming & 3) 研究MFC源代码。(6个月) 不要被一大堆的宏所蒙蔽,just track and dig into it!! 在知道MFC如何扩展,包装SDK之后,自可功力渐进,不被其MFC系统框架所困绕。&MFC Internals& 4) 研究OLE/COM技术。 COM/ActiveX技术是MS的核心技术,只有彻底洞察其理论精髓才可以体会现在的 操作系统的技术趋势,以不变应万变。 &Inside Ole 2& ***几点建议***: 1) Delphi/BCB/VB可以很快构筑界面,但对于想真正学习、理解系统不是一个好的平台,但如果有时间读一读VCL的源码,看看Borland是如何封装系统的,也可借鉴不少。 2) 学习ASM对理解C++有很大益处。Soft-ICE也是和VC++结合在一起的好工具; 3) 语言本身是皮毛,算法是筋骨;无论高级语言如何发展,在理解操作系统的基础上不断自我创新的能力是源源不断的;如果精髓一旦了然于胸,选择何种开发工具都可以驾御,一见如故了。  每个人学习的过程都会不同吧,我在98从TC转向VC时,对Windows的消息机制一点概念也没有,对着个MFC不知所措,几个月下来一点进展也没有。我于是暂时转向win32位编程。整整一年时间吧,我就是与API打交道,连编辑菜单条对话框等资源文件时也用Uedit32手工编写,为的是希望能对编译器的全过程有个感性的了解。之后我再转向MFC时,果然发现两者是相通的,虽然有一定的区加,不过有了win32位编程的基础再看MFC 时会发现它比win32位编程要方便了太多。 现在市面上的VC书很多,不过大多是入门书。我以为要精通VC(只是以为,本人自已距精通还远的很)应该多看多写程序,看书只能是入门,会用了而已。我不赞成滥用ActiveX,一来我以为它的性能很成问题,真是又大又慢又不稳定(可能是我有点偏激了吧),二来用了它您的程序今后就要被别人牵着鼻子走了。有次我用了个控件,程序都写了大半了,它给我来个继续使用请支付333美元,我两个多月的工钱,烦不烦人?现在我尽可能用别人写的类源代码(我已收集各类代码3-400MB了),一样用起来方便,还能边用边学,必要时还能自已改造。 我以为在现代的网络时代,资料到处都有,无论什么先进的技术,今天我不会我只要查到资料,快的学上几天慢的一两个月我也能学会,现在已没有写不出的程序了,写不出是因为你没有耐心写完它。我以为现在的程序员不一定要多么聪明,而更需要他有完成枯燥项目的耐心,找BUG的细心,对于金钱的平常心(不要为了早日拿到钱而赶进度),最后最重要是有顾全大局,团队协作的精神。 最后,王靖朋友的经历与我实在是有点相似,算是同病相伶吧,真心祝您早日实现自已的人生目标!学习VC是一项费时费力的艰苦学习过程。为了真正用好VC,你 不得不先从OOP开始学起,也许浏览一本纯理论的书要更有意思。 你将从另外的角度考察OO思想。接下来学习C++,学习WindowsAPI 学习MFC,剖析MFC,扩充MFC,创造自己的类库(不要企图写一个 和MFC同重量级的类库)。如果能够精通Microsoft C编译器的各种 参数,你就可以开始研究微软C/C++语言编译器的进化历史(结合 各种背景知识)。 掌握了编程的思想,征服VC只是时间问题。   学习VC是接受微软技术体系的过程。所需要学习的不仅仅是C++,MFC。 需要学习所有微软的技术,包括Windows编程,Win32系统(实际上 Win32系统实现了很多我们在屏幕上能看到的东西,最起码NT的内核 并不大),COM(深入研究它,理解对象是如何跨越进程边界的,最终 能够自如地在Exe中实现自己定义的接口才算到家了。不过这多少有些 不太必要。),DCOM,ctiveX,Windows DNA... 如果你想成为大拿,学吧,没完没了。最起码,使用VC,你甚至于可以 开发自己的操作系统(当然与MFC没有一点关系)。
& 相关主题:如何成为一名数据科学家?
我自己粗浅的理解为需要以下几个方面:1. 业务知识2. 数理统计和数据分析3. 计算机相关知识3.1 数据处理与收集(ETL?)3.2 机器学习和数据挖掘这几方面完全是自己的一个猜测,恳请大牛们不惜赐教!
按投票排序
"Data Science = statistics who uses python and lives in San Francisco"恰好我马上启程到Twitter的data science team,而且恰巧懂一点点统计和住在旧金山,所以冲动地没有邀请就厚脸回答了:D我认为有几个大方面1)学好python。现在几乎所以公司的数据都可以api给你,而python的数据处理能力强大且方便。加之在machine learning的很多算法上,python也独俏一方。另外,它的简明方便迅速迭代开发,15分钟写完个算法就可以看效果了。除此之外,py还有点酷酷的感觉。任何程序拿matlab和c++都是可以写的,不过我真没认识过哪个d愿意自己把自己扔那个不酷的框框里:D对不规则输入的处理也给python一个巨大的优势。通常来说,在我现在日常的工作里,所有的数据都是以纯文本但是非格式的形式存储的(raw text, unstructured data)。问题在于,这些文本不可以直接当作各种算法的输入,你需要分词,分句提取特征整理缺失数据除掉异类(outlier)在这些时候,python可谓是神器。这里做的1-4都可以直接在scikit-learn里面找到对应的工具,而且,即使是要自己写一个定制的算法处理某些特殊需求,也就是一百行代码的事情。简而言之,对于数据科学面临的挑战,python可以让你短平快地解决手中的问题,而不是担心太多实现细节。2)学好统计学习略拗口。统计学习的概念就是“统计机器学习方法”。统计和计算机科学前几十年互相平行着,互相造出了对方造出的一系列工具,算法。但是直到最近人们开始注意到,计算机科学家所谓的机器学习其实就是统计里面的prediction而已。因此这两个学科又开始重新融合。为什么统计学习很重要?因为,纯粹的机器学习讲究算法预测能力和实现,但是统计一直就强调“可解释性”。比如说,针对今天微博股票发行就上升20%,你把你的两个预测股票上涨还是下跌的model套在新浪的例子上,然后给你的上司看。Model-1有99%的预测能力,也就是99%的情况下它预测对,但是Model-2有95%,不过它有例外的一个附加属性——可以告诉你为什么这个股票上涨或者下跌。试问,你的上司会先哪个?问问你自己会选哪个?显然是后者。因为前者虽然有很强的预测力(机器学习),但是没有解释能力(统计解释)。而作为一个数据科学家,80%的时间你是需要跟客户,团队或者上司解释为什么A可行B不可行。如果你告诉他们,“我现在的神经网络就是能有那么好的预测力可是我根本就没法解释上来”,那么,没有人会愿意相信你。具体一些,怎么样学习统计学习?先学好基本的概率学。如果大学里的还给老师了(跟我一样),那么可以从MIT的概率论教材【1】入手。从第1章到第9章看完并做完所有的习题。(p.s.面试Twitter的时候被问到一个拿球后验概率的问题,从这本书上抓来的)。了解基本的统计检验及它们的假设,什么时候可以用到它们。快速了解统计学习有哪些术语,用来做什么目的,读这本【5】。学习基本的统计思想。有frequentist的统计,也有bayesian的统计。前者的代表作有【2】,后者看【3】。前者是统计学习的圣书,偏frequentist,后者是pattern recognition的圣书,几乎从纯bayesian的角度来讲。注意,【2】有免费版,作者把它全放在了网上。而且有一个简易版,如果感觉力不从心直接看【2】,那么可以先从它的简易版开始看。简易版【4】是作者在coursera上开课用的大众教材,简单不少(不过仍然有很多闪光点,通俗易懂)。对于【3】,一开始很难直接啃下来,但是啃下来会受益匪浅。注意,以上的书搜一下几乎全可以在网上搜到别人传的pdf。有条件的同学可以买一下纸制版来读,体验更好并且可以支持一下作者。所有的书我都买了纸制版,但是我知道在国内要买本书有多不方便(以及原版书多贵)。读完以上的书是个长期过程。但是大概读了一遍之后,我个人觉得是非常值得的。如果你只是知道怎么用一些软件包,那么你一定成不了一个合格的data scientist。因为只要问题稍加变化,你就不知道怎么解决了。如果你感觉自己是一个二吊子数据科学家(我也是)那么问一下下面几个问题,如果有2个答不上来,那么你就跟我一样,真的还是二吊子而已,继续学习吧。为什么在神经网络里面feature需要standardize而不是直接扔进去对Random Forest需要做Cross-Validatation来避免overfitting吗?用naive-bayesian来做bagging,是不是一个不好的选择?为什么?在用ensembe方法的时候,特别是Gradient Boosting Tree的时候,我需要把树的结构变得更复杂(high variance, low bias)还是更简单(low variance, high bias)呢?为什么?如果你刚开始入门,没有关系,回答不出来这些问题很正常。如果你是一个二吊子,体会一下,为什么你跟一流的data scientist还有些差距——因为你不了解每个算法是怎么工作,当你想要把你的问题用那个算法解决的时候,面对无数的细节,你就无从下手了。说个题外话,我很欣赏一个叫Jiro的寿司店,它的店长在(东京?)一个最不起眼的地铁站开了一家全世界最贵的餐馆,预订要提前3个月。怎么做到的?70年如一日练习如何做寿司。70年!除了丧娶之外的假期,店长每天必到,8个小时工作以外继续练习寿司做法。其实学数据科学也一样,沉下心来,练习匠艺。3)学习数据处理这一步不必独立于2)来进行。显然,你在读这些书的时候会开始碰到各种算法,而且这里的书里也会提到各种数据。但是这个年代最不值钱的就是数据了(拜托,为什么还要用80年代的“加州房价数据”?),值钱的是数据分析过后提供给决策的价值。那么与其纠结在这么悲剧的80年代数据集上,为什么不自己搜集一些呢?开始写一个小程序,用API爬下Twitter上随机的tweets(或者weibo吧。。。)对这些tweets的text进行分词,处理噪音(比如广告)用一些现成的label作为label,比如tweet里会有这条tweet被转发了几次尝试写一个算法,来预测tweet会被转发几次在未见的数据集上进行测试如上的过程不是一日之功,尤其刚刚开始入门的时候。慢慢来,耐心大于进度。4)变成全能工程师(full stack engineer)在公司环境下,作为一个新入职的新手,你不可能有优待让你在需要写一个数据可视化的时候,找到一个同事来给你做。需要写把数据存到数据库的时候,找另一个同事来给你做。况且即使你有这个条件,这样频繁切换上下文会浪费更多时间。比如你让同事早上给你塞一下数据到数据库,但是下午他才给你做好。或者你需要很长时间给他解释,逻辑是什么,存的方式是什么。最好的变法,是把你自己武装成一个全能工作师。你不需要成为各方面的专家,但是你一定需要各方面都了解一点,查一下文档可以上手就用。会使用NoSQL。尤其是MongoDB学会基本的visualization,会用基础的html和javascript,知道d3【6】这个可视化库,以及highchart【7】学习基本的算法和算法分析,知道如何分析算法复杂度。平均复杂度,最坏复杂度。每次写完一个程序,自己预计需要的时间(用算法分析来预测)。推荐普林斯顿的算法课【8】(注意,可以从算法1开始,它有两个版本)写一个基础的服务器,用flask【9】的基本模板写一个可以让你做可视化分析的backbone。学习使用一个顺手的IDE,VIM, pycharm都可以。4)读,读,读!除了闭门造车,你还需要知道其它数据科学家在做些啥。涌现的各种新的技术,新的想法和新的人,你都需要跟他们交流,扩大知识面,以便更好应对新的工作挑战。通常,非常厉害的数据科学家都会把自己的blog放到网上供大家参观膜拜。我推荐一些我常看的。另外,学术圈里也有很多厉害的数据科学家,不必怕看论文,看了几篇之后,你就会觉得:哈!我也能想到这个!读blog的一个好处是,如果你跟他们交流甚欢,甚至于你可以从他们那里要一个实习来做!betaworks首席数据科学家,Gilad Lotan的博客,我从他这里要的intern :D Ed Chi,六年本科硕士博士毕业的神人,google data science Hilary Mason,bitly首席科学家,纽约地区人尽皆知的数据科学家:在它们这里看够了之后,你会发现还有很多值得看的blog(他们会在文章里面引用其它文章的内容),这样滚雪球似的,你可以有够多的东西早上上班的路上读了:)5)要不要上个研究生课程?先说我上的网络课程:前者就不说了,人人都知道。后者我则更喜欢,因为教得更广阔,上课的教授也是世界一流的机器学习学者,而且经常会有一些很妙的点出来,促进思考。对于是不是非要去上个研究生(尤其要不要到美国上),我觉得不是特别有必要。如果你收到了几个著名大学数据科学方向的录取,那开开心心地来,你会学到不少东西。但是如果没有的话,也不必纠结。我曾有幸上过或者旁听过美国这里一些顶级名校的课程,我感觉它的作用仍然是把你领进门,以及给你一个能跟世界上最聪明的人一个交流机会(我指那些教授)。除此之外,修行都是回家在寝室进行的。然而现在世界上最好的课程都摆在你的面前,为什么还要舍近求远呢。总结一下吧我很幸运地跟一些最好的数据科学家交流共事过,从他们的经历看和做事风格来看,真正的共性是他们都很聪明——你也可以他们都很喜欢自己做的东西——如果你不喜欢应该也不会看这个问题他们都很能静下心来学东西——如果足够努力你也可以【1】【2】Hastie, Trevor, et al. The elements of statistical learning. Vol. 2. No. 1. New York: Springer, 2009. 免费版【3】Bishop, Christopher M. Pattern recognition and machine learning. Vol. 1. New York: springer, 2006.【4】 免费版【5】Wasserman, Larry. All of statistics: a concise course in statistical inference. Springer, 2004.【6】【7】【8】【9】
-版本更新,日更新一些内容。-如果展开讲,这个问题可以写一篇综述了。最近刚好有空,打算认真写写。仅仅在几年前,数据科学家还不是一个正式确定的职业,然而一眨眼的工夫,这个职业就已经被誉为“今后十年IT行业最重要的人才”了。一、数据科学家的起源"数据科学"(DataScience)起初叫"datalogy "。最初在1966年由Peter Naur提出,用来代替"计算机科学"(丹麦人,2005年图灵奖得主,丹麦的计算机学会的正式名称就叫Danish Society of Datalogy,他是这个学会的第一任主席。Algol 60是许多后来的程序设计语言,包括今天那些必不可少的软件工程工具的原型。图灵奖被认为是“计算科学界的诺贝尔奖”。)1996年,International Federation of Classification Societies (IFCS)国际会议召开。数据科学一词首次出现在会议(Data Science, classification, and related methods)标题里。1998年,C.F. Jeff Wu做出题为“统计学=数据科学吗? 的演讲,建议统计改名数据的科学统计数据的科学家。 (吴教授于1987年获得COPSS奖,2000年在台湾被选为中研院院士,2004年作为第一位统计学者当选美国国家工程院院士,也是第一位华人统计学者获此殊荣。)2002年,国际科学理事会:数据委员会科学和技术(CODATA)开始出版数据科学杂志。2003年,美国哥伦比亚大学开始发布数据科学杂志,主要内容涵盖统计方法和定量研究中的应用。 2005年,美国国家科学委员会发表了"Long-lived Digital Data Collections: Enabling Research and Education in the 21st Century",其中给出数据科学家的定义:"the information and computer scientists, database and software and programmers, disciplinary experts, curators and expert annotators, librarians, archivists, and others, who are crucial to the successful management of a digital data collection"信息科学与计算机科学家,数据库和软件工程师,领域专家,策展人和标注专家,图书管理员,档案员等数字数据管理收集者都以可成为数据科学家。它们主要任务是:"进行富有创造性的查询和分析。" 2012年,O'Reilly媒体的创始人 列出了世界上排名前7位的数据科学家。Larry Page,谷歌CEO。Jeff Hammerbacher,Cloudera的首席科学家和DJ Patil,Greylock风险投资公司企业家。Sebastian Thrun,斯坦福大学教授和Peter Norvig,谷歌数据科学家。Elizabeth Warren,Massachusetts州美国参议院候选人。Todd Park,人类健康服务部门首席技术官。Sandy Pentland,麻省理工学院教授。Hod Lipson and Michael Schmidt,康奈尔大学计算机科学家。具体有时间再补充,感兴趣的朋友可以一下他们的文献。关于数据科学家的更多讨论:你能列出十个著名的女性数据科学家吗?谁是最富有的数据科学家?请列出对大数据最具有影响力的20个人?二、数据科学家的定义数据科学(Data Science)是从数据中提取知识的研究,关键是科学。数据科学集成了多种领域的不同元素,包括信号处理,数学,概率模型技术和理论,机器学习,计算机编程,统计学,数据工程,模式识别和学习,可视化,不确定性建模,数据仓库,以及从数据中析取规律和产品的高性能计算。数据科学并不局限于大数据,但是数据量的扩大诚然使得数据科学的地位越发重要。数据科学的从业者被称为数据科学家。数据科学家通过精深的专业知识在某些科学学科解决复杂的数据问题。不远的将来,数据科学家们需要精通一门、两门甚至多门学科,同时使用数学,统计学和计算机科学的生产要素展开工作。所以数据科学家就如同一个team。曾经投资过Facebook,LinkedIn的格雷洛克风险投资公司把数据科学家描述成“能够管理和洞察数据的人”。在IBM的网站上,数据科学家的角色被形容成“一半分析师,一半艺术家”。他们代表了商业或数据分析这个角色的一个进化。for example – a data scientist will most likely explore and examine data from multiple disparate sources. The data scientist will sift through all incoming data with the goal of discovering a previously hidden insight, which in turn can provide a competitive advantage or address a pressing business problem. A data scientist does not simply collect and report on data, but also looks at it from many angles, determines what it means, then recommends ways to apply the data.Anjul Bhambhri,IBM的大数据产品副总裁。数据科学家是一个好奇的,不断质疑现有假设,能盯着数据就能指出趋势的人。这就好像在文艺复兴时期,一个非常想为组织带来挑战并从挑战中学习的人一样。Jonathan Goldman,LinkedIn数据科学家。2006年的6月份进入商务社交网站LinkedIn,当时LinkedIn只有不到800万用户。高德曼在之后的研究中创造出新的模型,利用数据预测注册用户的人际网络。具体来讲,他以用户在LinkedIn的个人资料,来找到和这些信息最匹配的三个人,并以推荐的形式显示在用户的使用页面上——这也就是我们熟悉的"你可能认识的人(People you may know)"。这个小小的功能让LinkedIn增加了数百万的新的页面点击量(数据挖掘的应用典型之一推荐系统)。John Rauser, 亚马逊大数据科学家。数据科学家是工程师和统计学家的结合体。从事这个职位要求极强的驾驭和管理海量数据的能力;同时也需要有像统计学家一样萃取、分析数据价值的本事,二者缺一不可。Steven Hillion, EMC Greenplum数据分析副总裁。数据科学家是具有极强分析能力和对统计和数学有很深研究的数据工程师。他们能从商业信息等其他复杂且海量的数据库中洞察新趋势。Monica Rogati, LinkedIn资深数据科学家。所有的科学家都是数据学家,因为他们整天都在和海量数据打交道。在我眼中,数据学家是一半黑客加一半分析师。他们通过数据建立看待事物的新维度。数据学家必须能够用一只眼睛发现新世界,用另一只眼睛质疑自己的发现。Daniel Tunkelang,LinkedIn首席数据科学家。我是bitly 首席科学家Hilary Mason的忠实崇拜者。关于这个新概念的定义我也想引用她的说法:数据科学家是能够利用各种信息获取方式、统计学原理和机器的学习能力对其掌握的数据进行收集、去噪、分析并解读的角色。Michael Rappa,北卡罗莱纳州立大学教授。尽管数据科学家这个名称最近才开始在硅谷出现,但这个新职业的产生却是基于人类上百年对数据分析的不断积累和衍生。和数据科学家最接近的职业应该是统计学家,只不过统计学家是一个成熟的定义且服务领域基本局限于政府和学界。数据科学家把统计学的精髓带到了更多的行业和领域。林仕鼎,百度大数据首席架构师。如果从广义的角度讲,从事数据处理、加工、分析等工作的数据科学家、数据架构师和数据工程师都可以笼统地称为数据科学家;而从狭义的角度讲,那些具有数据分析能力,精通各类算法,直接处理数据的人员才可以称为数据科学家。最后引用Thomas H. Davenport(埃森哲战略变革研究院主任) 和 D.J. Patil(美国科学促进会科学与技术政策研究员,为美国国防部服务)的话来总结数据科学家需要具备的能力:数据科学家倾向于用探索数据的方式来看待周围的世界。(好奇心)把大量散乱的数据变成结构化的可供分析的数据,还要找出丰富的数据源,整合其他可能不完整的数据源,并清理成结果数据集。(问题分体整理能力)新的竞争环境中,挑战不断地变化,新数据不断地流入,数据科学家需要帮助决策者穿梭于各种分析,从临时数据分析到持续的数据交互分析。(快速学习能力)数据科学家会遇到技术瓶颈,但他们能够找到新颖的解决方案。(问题转化能力)当他们有所发现,便交流他们的发现,建议新的业务方向。(业务精通)他们很有创造力的展示视觉化的信息,也让找到的模式清晰而有说服力。(表现沟通能力)他们会把蕴含在数据中的规律建议给Boss,从而影响产品,流程和决策。(决策力)三、数据科学家所需硬件技能《数据之美 Beautiful Data》的作者Jeff Hammerbacher在书中提到,对于 Facebook 的数据科学家“我们发现传统的头衔如商业分析师、统计学家、工程师和研究科学家都不能确切地定义我们团队的角色。该角色的工作是变化多样的:在任意给定的一天,团队的一个成员可以用 Python 实现一个多阶段的处理管道流、设计假设检验、用工具R在数据样本上执行回归测试、在 Hadoop 上为数据密集型产品或服务设计和实现算法,或者把我们分析的结果以清晰简洁的方式展示给企业的其他成员。为了掌握完成这多方面任务需要的技术,我们创造了数据科学家这个角色。”(1) 计算机科学一般来说,数据科学家大多要求具备编程、计算机科学相关的专业背景。简单来说,就是对处理大数据所必需的Hadoop、Mahout等大规模并行处理技术与机器学习相关的技能。(2) 数学、统计、数据挖掘等除了数学、统计方面的素养之外,还需要具备使用SPSS、SAS等主流统计分析软件的技能。其中,面向统计分析的开源编程语言及其运行环境“R”最近备受瞩目。R的强项不仅在于其包含了丰富的统计分析库,而且具备将结果进行可视化的高品质图表生成功能,并可以通过简单的命令来运行。此外,它还具备称为CRAN(The Comprehensive R Archive Network)的包扩展机制,通过导入扩展包就可以使用标准状态下所不支持的函数和数据集。R语言虽然功能强大,但是学习曲线较为陡峭,个人建议从python入手,拥有丰富的statistical libraries,,,,。(3) 数据可视化(Visualization)信息的质量很大程度上依赖于其表达方式。对数字罗列所组成的数据中所包含的意义进行分析,开发Web原型,使用外部API将图表、地图、Dashboard等其他服务统一起来,从而使分析结果可视化,这是对于数据科学家来说十分重要的技能之一。(4) 跨界为王麦肯锡认为未来需要更多的“translators”,能够在IT技术,数据分析和商业决策之间架起一座桥梁的复合型人才是最被人需要的。”translators“可以驱动整个数据分析战略的设计和执行,同时连接的IT ,数据分析和业务部门的团队。如果缺少“translators“,即使拥有高端的数据分析策略和工具方法也是于事无补的。 The data strategists’combination of IT knowledge and experience making business decisions makes them well suited to define the data requirements for high-value business analytics. Data scientists combine deep analytics expertise with IT know-how to develop sophisticated models and algorithms. Analytic consultants combine practical business knowledge with analytics experience to zero in on high-impact opportunities for analytics.天才的”translators“非常罕见。但是大家可以各敬其职(三个臭皮匠臭死诸葛亮),数据战略家可以使用IT知识和经验来制定商业决策,数据科学家可以结合对专业知识的深入理解使用IT技术开发复杂的模型和算法,分析顾问可以结合实际的业务知识与分析经验聚焦下一个行业爆点。推荐关注:四、数据科学家的培养位于伊利诺伊州芝加哥郊外埃文斯顿市的美国名牌私立大学——西北大学(Northwestern University),就是其中之一。西北大学决定从2012年9月起在其工程学院下成立一个主攻大数据分析课程的分析学研究生院,并开始了招生工作。西北大学对于成立该研究生院是这样解释的:“虽然只要具备一些Hadoop和Cassandra的基本知识就很容易找到工作,但拥有深入知识的人才却是十分缺乏的。”此外,该研究生院的课程计划以“传授和指导将业务引向成功的技能,培养能够领导项目团队的优秀分析师”为目标,授课内容在数学、统计学的基础上,融合了尖端计算机工程学和数据分析。课程预计将涵盖分析领域中主要的三种数据分析方法:预测分析、描述分析(商业智能和数据挖掘)和规范分析(优化和模拟),具体内容如下。(1) 秋学期* 数据挖掘相关的统计方法(多元Logistic回归分析、非线性回归分析、判别分析等)* 定量方法(时间轴分析、概率模型、优化)* 决策分析(多目的决策分析、决策树、影响图、敏感性分析)* 树立竞争优势的分析(通过项目和成功案例学习基本的分析理念)(2) 冬学期*
数据库入门(数据模型、数据库设计)*
预测分析(时间轴分析、主成分分析、非参数回归、统计流程控制)*
数据管理(ETL(Extract、Transform、Load)、数据治理、管理责任、元数据)*
优化与启发(整数计划法、非线性计划法、局部探索法、超启发(模拟退火、遗传算法))(3) 春学期*
大数据分析(非结构化数据概念的学习、MapReduce技术、大数据分析方法)*
数据挖掘(聚类(k-means法、分割法)、关联性规则、因子分析、存活时间分析)*
其他,以下任选两门(社交网络、文本分析、Web分析、财务分析、服务业中的分析、能源、健康医疗、供应链管理、综合营销沟通中的概率模型)(4) 秋学期*
风险分析与运营分析的计算机模拟*
软件层面的分析学(组织层面的分析课题、IT与业务用户、变革管理、数据课题、结果的展现与传达方法)(EMC的在线课程:(EMC的在线课程:,收费T_T,大家可以了解下学习路径)(5)分享一些免费的课程以下课程免费,讲师都是领域的专家,需要提前报名,请注意开班的时间。:统计学。:机器学习。:数据分析的计算方法。:大数据。:数据科学导论。:数据分析。名校课程,需要一定的英语基础和计算机基础::麻省理工学院的统计思维与数据分析课。概率抽样,回归,常见分布等。:麻省理工学院的数据挖掘课程,数据挖掘的知识以及机器学习算法。:莱斯大学的数据可视化,从统计学的角度分析信息可视化。: 哈佛大学,如何在数学计算与数据交互可视化之间架起桥梁。:加州大学伯克利分校数据可视化。:两个MIT的数据研究生,如何分析处理可视化数据。:哥伦比亚大学,数据分析方法。需要一定的数据基础。:加州大学伯克利分校,可扩展的机器学习方法。从硬件系统,并行化范式到MapReduce+Hadoop+BigTable,非常全面系统。五、数据科学家的前景((,关于数据科学家的研究)Like the physical universe, the digital universe is large – by 2020 containing nearly as many digital bits as there are stars in the universe. It is doubling in size every two years, and by 2020 the digital universe – the data we create and copy annually – will reach 44 zettabytes, or 44 trillion gigabytes. Like the physical universe, the digital universe is large – by 2020 containing nearly as many digital bits as there are stars in the universe. It is doubling in size every two years, and by 2020 the digital universe – the data we create and copy annually – will reach 44 zettabytes, or 44 trillion gigabytes. EMC预测,按照目前的情况数字宇宙以每两年一番的速度倍增,在2020年将到达44ZB(1ZB=1.4113e+21B)。EMC做出了5点比较大胆的预测。In 2013, while about 40% of the information in the digital universe required some type of data protection, less than 20% of the digital universe actually had these protections.Data from embedded systems, the signals from which are a major component of the Internet of Things, will grow from 2% of the digital universe in 2013 to 10% in 2020.In 2013, less than 20% of the data in the digital universe is “touched” by the cloud, either stored, perhaps temporarily, or processed in some way. By 2020, that percentage will double to 40%.Most of the digital universe is transient – unsaved Netflix or Hulu movie streams, or Xbox One gamer interactions, temporary routing information in networks, sensor signals discarded when no alarms go off, etc. – and it is getting more so. This is a good thing, because the world’s amount of available storage capacity (i.e., unused bytes) across all media types is growing slower than the digital universe. In 2013, the available storage capacity could hold just 33% of the digital universe. By 2020, it will be able to store less than 15%.In 2014, the digital universe will equal 1.7 megabytes a minute for every person on Earth.Between 2013 and 2020 the division of the digital universe between mature and emerging markets (e.g., China) will switch – from 60% accounted for by mature markets to 60% of the data in the digital universe coming from emerging markets.Between 2013 and 2020 the division of the digital universe between mature and emerging markets (e.g., China) will switch – from 60% accounted for by mature markets to 60% of the data in the digital universe coming from emerging markets.EMC预测在2017年左右新兴的市场将超越成熟市场,东亚国家是最具潜力的引爆点。(大家是不是有点小激动,前景一片光明)六、结束语推荐网站: (数据科学中心,大牛云集,资源丰富,讨论者热情,各种课程)祝每一个DMer都挖掘到金矿和快乐:)参考文献:[1].[2].《大数据的冲击》. 城田真琴.
野村综合研究所创新开发部高级研究员、IT分析师,日本政府“智能云计算研究会”智囊团成员[3].麦肯锡. [4].EMC. [5].[6].[7].[8].[9].[10].[11].[12].
推荐一亩三分地W大的系列文章:
Quora回答:Quora回答:
我来提供一个不那么网页罗列、技能罗列的短答案吧。首先,数据科学是什么?数据科学家又是什么?这本身就是个见仁见智的问题,几乎每个人都会给你一个不同的答案。所以你能做的只能是找出自己的理解,就像我只能提供给你我个人的理解。本人进入数据分析行当快两年了,从一开始执着“数据科学家”的名分(因为听着新鲜有趣,那还是 2013 年下半年呢,呵呵两年过去看世界都变成什么样了),到后来一直不断翻新个人的理解,也算经历了一个找寻的过程,并且还在找寻中把。在这个过程中,一开始我也是把注意力集中在“硬”技能上,就是那些常见的技能罗列的东西。这种清单,你可以随便去 LinkedIn 上搜索一个 Data Scientist 职位,然后在 desired skills 清单里一抓一大把,你会发现不同公司的要求变化相当大,所以不存在标准答案。然后你可以从数据分析的角度把自己最心仪公司招 Data Scientist 的要求的核心部分给总结一下,看看有哪些核心部分(就是交集啦)。那应该能提供给你一个比在这里提问更有效的答案。不过我个人感觉真正的重要的技能还是“软”技能,也就是把关于行业的了解完全渗透到做数据分析的过程当中去。这里面有一个要点,就是始终清楚自己做数据的目的到底是什么。好比我上面提到用数据的角度去找出“数据科学家的核心技能集合”,当你做这样的事情的时候,你完全清楚自己的目的是什么,使用不管什么方式方法,你在做的就是一个“目的性明确的数据分析”工作。现实中充满了各种各样的问题,有很多都可以转化成数据问题来解决。因此我在个人网页上写了下面这句话:In the world of data mining, there's always an answer to your question也许通过你自己的道路,你能获得更我相似或者不同的心得。这是个体成长上的收获,都是非常值得珍惜的。另外,收了几本个人感觉收获最高的数据科学相关书籍在这里,仅供参考:
Road Map to Data Scientist最好看大图。哈哈手机党对不住了,请谨慎点击。
lz说的是一些基本技能,但如今的数据科学家往往是领域专家在加上一定的数据统计能力,注意数据统计能力不是起决定作用的,领域专家能力才是起决定作用的。一些成功的数据挖掘案例一般都是建立在对数据和业务理解足够深刻,然后加上一些创造性的想法得出,各种高深的算法往往不是关键。那么问题来了,创造性的想法怎么来,很多人对着数据一筹莫展,试便了牛b的算法也发现不了价值。其实根源还是在于对领域数据理解的不深刻,缺乏足够的洞察力。当然这里不是说算法,大数据处理的方法不重要,但这些只是工具,工具必须掌握,但不能过分强调,工具只有和领域知识结合才能发挥巨大作用
未来式的计算机世界,一定是云计算和大数据的世界,成为数据科学家,我认为既要懂数理统计方面的知识,同时还要深入了解业务,是该行业和领域的业务专家,能通过数据模型的建立,对未来发展的趋势进行预测
我本科是学会计的,大四那年幸运得到内推机会,到一家欧洲的基金公司工作,帮老板研究对冲基金的策略。这里有个学数学的法国帅哥每天在用VBA和matlab做衍生品的定价,后来我不小心知道了他的收入,整个人都不好了。恰好那一年,IBM用统计学习技术做出的Watson在Jeopardy上打败了所有的人类对手,我感到了一种前所未有的恐惧感,在Watson面前,我这种靠记忆和小聪明吃饭的人还有什么价值?于是我辞职回家准备出国,要学统计学,申请失败后继续考研,经过许多惊险之后,到了交大读统计硕士。成为一名数据科学家是一个很大的挑战,我从大四开始用了三四年的时间慢慢转型到了数据科学的方向,深感这个过程对商科、社科(以及不是计算机和数学方向的理工科)的青年来说有多大的挑战。数据科学是人类信息技术和数理科学的大融合,其知识密度和知识深度超过了大多数传统职业,要想从门外从到门内,学会开始驾驭这个庞然大物,有着一座又一座的知识山峰要去攀登,很像是一场创业的经历,高风险、高回报、很辛苦、但也很快乐。这几年我一直在思考这个问题,到底大数据对我们意味着什么,我们又怎样适应大数据的时代,我觉得无论是要转型成为数据科学家,还是掌握数据分析技能,这是我们每一个人的事情。就像马云最近说的”数据是未来的石油“,谁都离不开它。我想根据自己的经历,从挑战和机遇这两个角度来谈谈,怎么从外行(社科、商科、传统工科)转型成为一名数据科学家,帮助更多像我一样的普通人能够少走些弯路。大数据时代的技能大挑战大数据时代,掌握数学和统计,就像在全球化时代掌握英语一样重要。数据已经成为了经济、管理、科研、政府等各个领域的共同工作语言,不懂数学和统计会面临很大的沟通成本。如何在碎片化的时代,克服数学焦虑,掌握数学和统计知识,是每个人都面临的挑战。数学焦虑是人们面对数学问题时产生的习惯性的焦虑或恐惧情绪,会极大地影响人们解决数学问题的能力,并降低学习数学的兴趣。心理学家发现,对于数学的恐惧是一个很普遍的现象。调查反映,美国有60%的大学生都存在着数学焦虑情绪,而仅有10%的学生是对数学感兴趣的。从牛顿发明微积分算起,现代数学体系是人类最近300年发展出的一套理论体系。数学符号化、抽象化的运作方式,和人类大脑先天视觉化、具体化的思维习惯有着很大的差异。数学学习需要学生保持长时间的注意力集中,也就是要坐得住冷板凳,而这一点正在变得越来越困难。美国高度发达的娱乐产业,已经使得多动症成为了高发的儿童心理疾病。美国中学生的数学水平测试,已经远远落后于亚洲和北欧的学生。虽然有着高质量的教育资源,但薄弱的数学基础使得美国大学生不愿意选择理工科专业,仅有20%的美国大学生毕业于理工科。理工科人才的缺口,已经限制到了美国经济的发展,迫使奥巴马在2011年发布了“STEM人才培养计划”,其中的“STEM”,是科学、技术、工程、数学四个英文的缩写。BCG在2014年发表的研究报告中发现,美国的高科技行业面临着严重的人才紧缺。科技产业发达的华盛顿州中,有三分之二的科技高端岗位都无法找到合适的员工。 中国学生的数学基础教育是全球领先的,但是数学焦虑也同样普遍。数学基础课的挂科率在各个院校都排名靠前,而大多数学生对数学课程也缺少兴趣。高校的数学系也是报考人数不足,每年都需要通过调剂招生。数据工作者的门槛不仅在于数学和统计学知识,也在于编程能力和行业经验。 大数据分析基于海量数据的储存、传输和处理,从原始数据到分析结果,需要运用一系列程序。数据分析常用的软件包括比如Hadoop、SQL、R、SPSS、Tableau、Excel,很多工作都需要编程的技能。数据分析的目标是发现问题、解决问题、提高效益,但每一个行业都有特定的问题。行业经验能够让数据分析人员找到问题的方向,抓住问题的重点,从而更有效地利用数据,也能够使分析的结果发挥更大的价值。编程能力和行业经验多许多大学生,也有着不小的门槛,这更是让优秀的大数据人才显得弥足珍贵。全球资源为我所用站在国际视角,大数据是所有中国学生的一个机会。大数据技术仍然在发展初期,中国和欧美发达国家站在了同一起跑线。根据联合国的学业能力测试,中国学生的数学基础教育是全球领先的,而且中国的理工科学生占到了总数的50%,远超出美国的20%。中国人口众多,移动互联网的普及也使得数据存量迅速增长。人才储备和数据储备,为中国发展大数据行业奠定了最重要的基础。大数据行业刚刚起步,不仅有着广阔的职业发展空间,而且人才缺口巨大,正在从各个行业吸纳人才。无论是什么专业背景、职业经历,只要坚定个人转型升级的信念,就能抓住大数据时代的机遇。教育是一个人最重要的投资,其价值在技术变革的时代更加凸显。旺盛的需求使得教育成本迅速增长,对于很多家庭,教育已经成为了房产之外最大的负担。而我们在此前的报告也指出,随着高校和企业的差距被技术变革迅速拉大,高校所提供的知识和技能已经难以适应生产力要求。大数据时代的转型升级,前提就是要跟上生产力升级的步伐,充分利用互联网的力量。 大数据生长在互联网的土壤之上,数据通过互联网采集,通过云计算得到处理,而大数据分析所要教育资源和软件工具,几乎全都都能通过互联网获得。教育作为文化产品,其价格和价值之间并没有必然关系。在传统课堂中投入过多的资金和时间,并不是最明智的选择。互联网教育的发展,让价值巨大的优秀教育也已成为免费的服务。在Edx、Coursera这些在线教育平台上,全球范围内最优秀的教育资源,已经免费开放给了全世界的用户,许多大数据领域的国际专家都在这些平台上开设了免费的学习课程。优质、免费的教育是互联网给所有青年的礼物,而大数据领域最前沿的技术,也向所有人免费开源。只要掌握了使用方法,每个人都可以运用Hadoop搭建数据储存和计算平台,用R语言进行数据建模和可视化分析。免费的大数据工具功能强大而且性能稳定,在Facebook和IBM这类顶尖企业也被广泛运用。 分析工具的免费,使得每个人都有了学习和运用大数据技术的机会。大数据工具的迅速普及,车多司机少,驾驭工具的人才就出现了严重的供不应求。吸收大数据分析的知识,应用大数据分析的工具,是实现数据化升级的必要条件。掌握大数据的知识和工具虽然有着很高的学习门槛,但是获取大数据的教育资源和分析工具的门槛却已经完全消失。在实践中赢取持久战大数据包含了很多领域的知识和技能,数学、统计、计算机是基础,行业经验、背景知识也必不可少。庞大的知识体量,使得大数据的学习成为了一场持久战。按部就班地学习教科书中的理论,对于大多数人来说并不现实。理论的讨论是可以无限延伸的,面对庞杂的技术理论和漫长的学习周期,很少有人能够坚持下来,这也是数据人才长期紧缺的原因之一。真正可行的方式,是小处着手,循序渐进,在实践中学习理论。实践问题有着具体的场景,理解的成本更低,学习的目标也更明确,从而更容易坚持下去。麻雀虽小,五脏俱全,许多大数据项目的技术相对简单,却蕴含着很大的价值。比如银行业广泛应用的信贷风险模型,采用了基础的回归模型,大幅降低了银行坏账和经济损失。学习大数据,不妨选定一个感兴趣的职业方向,在实践项目中磨练技能,理解理论。在阶段性的成果中,不断获得成长的动力,在良好的心态中赢取这场持久战。只要用数据思维看问题,实践大数据技术的机会其实很多。阿里巴巴的首席数据官,车品觉先生就给出一个精彩而朴实的例子。他看到属于个人的信息资料,已经远远超出了人们的记忆负荷,于是运用大数据的思想,在“印象笔记”中把自己所有的重要资料都进行了系统化地标记和检索,大幅度提高了工作的效率。 信息化的时代,利用数据创造价值的机会越来越多 ,而通过实践内化数据化的思维和技能,我们才能真正抓住这样的机会。我们能用从学会用大数据管理个人数据开始,到Kaggle这样的平台中参与大数据分析比赛开始,在项目团队中学习知识,实践技能。大数据时代的合作精神要想做好大数据分析,除了知识和经验,还要有充分的合作精神。大数据是信息技术和数理理论的大融合,没有人能解决全部的问题。在企业和学术界,一个典型的大数据分析项目,需要各方面的专业人士的通力合作,包括擅长统计理论的数据科学家,搭建计算平台的数据工程师,经验丰富的行业专家和数据分析师,以及负责数据可视化的设计师。计算机、管理、设计、数学、统计等各个专业的同学,都能够在大数据项目中,找到属于自己的独特位置。 在大数据分析项目,每一个同学的专业技能不仅仅停留在脑海中,而是在各个专业的同伴帮助下,转化成有实际价值的作品。我们的高校仍然沿袭着工业化的组织结构,不同知识背景的同学被专业和学院割裂开来,身边的朋友和自己的背景都十分类似。要想开始大数据的实践,就必须找到目标一致、又技能互补的合作伙伴。可是怎样找到一群可以共事的合作者?首先可以加入学校的数学建模社团、数据分析协会,这里往往聚集了全校数学基础最扎实的同学。我们也可以寻找有特定技能和背景的同学,组成优势互补的项目团队,一起参加大数据分析的比赛。真正的机会往往是以挑战的形式出现,大数据带来的职业挑战背后,正是绝佳的发展机会。大数据技术要求的数学基础和编程技能,确实有着很高的学习门槛,然而优质的教育资源、开源的数据分析工具、合作实践平台,也让我们拥有了驾驭大数据,实现大价值的机会。 是留在门槛之下,做一个随时可能被技术替代的旧青年,还是在实践积累中跨越门槛,成为掌控技术能量的新青年,选择在我们自己手中。
数据科学家,就是一帮学统计的互相往自己脸上贴金。
我今年大一,现在在新加坡国立读一个叫“商业分析”的专业,这个专业专门为公司培养数据分析员。今年第一年招生,课程是计算机学院的一帮计算机科学和信息系统(Information System)的教授专门设计的,其中包括编程和IS(计算机学院)、统计(科学院)、商学院,三个faculty的课程。我学了一年下来最大的感受是,编程编不过学CS的,统计理解的没学统计的好,商学院的课做presentation被虐;但是他们对于别的领域不知道的知识我能略知一二。以我现在的理解,其实所谓“数据科学家”,应该更加强调商业上的应用。与其把这个作为一种新的学科、新的知识,不如把它想成一种新的“职业”;这个”商业分析“专业也许没有对科学的发展、新知识的发现起到多少作用,但是能帮助学生在学习过程中对知识进行整合,从而培养出一种现在公司能用的“员工”。就像我们同学一直自嘲,我们不过是一帮”高级技工“罢了,只不过这种技工,现在市场需求不小,待遇也不差。
推荐一篇我翻译的文章:数据科学家与数据分析师译注:1.最近大数据很火,与数据相关的职位在中国越来越为人们熟知,本文介绍了数据科学家与数据分析师的异同。原文链接:2.文中[]表示为使句子更加通顺而添加的一些词语。正文:由于最近这个话题在很多地方被激烈的讨论,虽然这篇文章不在计划内,但我仍然考虑撰写一篇“数据科学家与数据分析工程师”的文章。数据科学(Data Science):我个人对数据科学的理解是这样的:理解数据和业务逻辑,并通过对当前业务数据进行采样(分析)来提供预测(也被称作“数据洞察”、“业务洞察”、“数据发现”、“业务发现”),这些预测是关于业务的走向(好的和坏的)和趋势的;能够使业务能够在走下一步时作出正确的决策。比如:● 基于用户兴趣级别改进产品/功能● 吸引更多的用户● 吸引更多的点击、带来更好的印象、更加方便、带来更多的收益、吸引更多的潮人(leads?)● [改善]用户体验● [更好的]推荐● [增加]用户停留时间一般来说,“数据科学”是由“数据科学家”来驱动的,这些人一般是在数学、物理、统计、机器学习或者计算机科学的博士。如果不是这些领域的博士,那么他很难被雇佣。在最近的ACM的会议里,一位在线拍卖(online bidding)公司的数据科学人力资源经理在提问环节说她不会雇佣没有博士学位(和经验)的人。数据科学家的职位要求:● 基本都以“熟悉如何使用数据库系统(SQL 接口,ad-hoc)、MySQL和Hive”开始[作为最低要求]● 如果需要的话,还包括Java/python/简单map-reduce工作开发● 掌握(Exposure)各种分析方法(超过、中值、排序等),并且知道在各种数据集中应如何使用它们● 数学、统计学、关联、数据万巨额和预测分析(掌握基于概率和关联的预测)● “R”或者/和”RStudio”(如excel、SAS、IBM SPSS、 MATLAB)● 对(统计)数据模型的开发有深入的见解,一般来说当前的主流是自学习模型,这些模型能够从自己的输出中进行学习。● 从事过大数据的相关工作● 熟悉机器学习和/或者数据挖掘算法(Mahout、Bayesian、Clustering、etc)在数据科学领域,也有一些其它的职位要求和技能要求,如果能掌握,可能会在候选者中更有竞争力[意译]。比如,如果你有一个自然语言处理的角色,那么你可能需要一些不同的技能来匹配这个角色。有时候,这依赖于小组的大小,一个人有时候需要扮演多个不同角色,或者由不同的小组来处理。目前,市场上对数据科学家有很多需求,可能是仅次于数据分析师的第二大的热门职位。下面是数据科学家的需求趋势:数据分析师一般来讲,数据分析是数据仓库、商务智能的逻辑上的延伸,它以最有用的形式来提供完整的分析。使用数据仓库进行分析的最大的不同是,大多数情况下[数据仓库]分析能够做到实时,并且动态变化,因为数据仓库是通过ETL的方式离线处理过的。任何和数据打交道的业务肯定有“数据分析师”,没有数据分析师,就像没有心脏、灵魂和思想的死人一样。数据分析(工程)师的职位要求:● 熟悉数据仓库和商务智能的概念● 熟练掌握SQL和相关分析解决方案● 熟练掌握基于Hadoop平台的分析解决方案(HBase,Hive,Map-reduce jobs, Impala, Cascading等)● 熟练掌握各种企业级的数据分析工具(Vertica, Greeplum, Aster Data, Teradata, Netezza等),特别是如何使用它们通过最高效的方式来存储/访问数据的● 熟悉各种ETL工具(特别是将各种不同源的数据转换到分析工具中),来时实时分析变得可能。● 高效的存储和访问数据的模式设计● 熟悉各种数据体系结构中的工具和组件● 制定决策的能力(实时和ETL的比较,为实现Z是使用X还是使用Y)有时候,一名数据分析工程师也在需要的时候扮演数据挖掘的角色[任务],因为他对数据有比别人更好的理解。一半来说,他们为了得到更好的结果会很进行很严密的[分析]工作。数据分析可以分成四种类型或四类角色(因为很难雇佣一个拥有全部技术的人,另一方面也是因为管理和开发是很不同的)。● 数据架构师● 数据库管理员● 分析工程师● 操作员当前,“数据分析”可能是热门工作之一(可能Hadoop/大数据工程师超过了它),下面是在indeed上关于“数据分析”的趋势,它可能还会继续热门下去,因为绝大多数的业务需要及时的数据分析。即使“数据科学”和“数据分析”在技术领域角度看起来比较相似,但是数据科学更像一个业务单元里的数据消费者,它依赖数据分析组提供的数据。除此以外,由于更大的数据集上有更好的概率,大多数的模型预测或者算法在大数据集上的运行效果相当好,因此数据越多越好。(有了更多的数据),你就有更好的可能来进行正确的预测,并驱动业务[开展]。这些意味着两者相互依存。如果你有一个同时掌握这些技能的工程师,那么你赚到了。学术一点的:如何变成数据科学家或者数据分析工程师● 美国大多数的高等学府提供“数据科学”和“数据分析”的课程,其中包括Berkeley、Stanford、Columbia、Harvard等。● 这里有一些大学开设的相关课程的链接(可能不全也不准确,最好是直接去他们网站上找):○ ○ ● 这里还有一个在线的资源:○ 最后,欢迎关注我的微信公众号,关注大数据、可视化、挖掘:
[偷笑]全文都说学哪些工具,却没提及到熟悉业务、理解业务需求,多学点市场营销的东西,把算法和业务结合,这些都没提及到,就想做科学家?
Coursera和Udacity都有一门data science的课程path
非原创,转自一亩三分地目前最好的硕士水平数据科学自学课程想学DATA SCIENCE?目前最好的硕士水平数据科学自学课程,WARALD严重推荐这个COURSE LIST!成为一名数学科学家的(Data Scientist)是现在就业一大热点, Warald前段时间写过一个系列文章,从各个角度对这个新兴的方向进行了介绍,感兴趣的同学可以从《》开始读起。现在网上关于数据科学的文章、公开课程很多,这里,Warald推荐我觉得目前为止最好的一个课程总结,来自大家也可以来一亩三分地里参考这个帖子:《》。这个名单里的很多课程在里早就有人跟着修课+讨论了。推荐阅读相关帖子:文章类别: ---------------------------------------------------------------------------------------------------------------刚刚发完才发现前面的
答案已经有了w大的大部分帖子,不过这个研究生课程没贴~~,就不删了---------------------------------------------------------------------------------------------------------------Quora上也有相关的问答。
简单的说,在国内,学会扯淡;在国外,学过统计,并学会扯淡。顺便顶一下肥濛的回答。同学同事中有几位自我定义为数据科学家的朋友,为了不友尽,匿之。
Mike Driscoll’s three sexy skills of data geeks:o Statistics– traditional analysiso Data Munging– parsing, scraping, and formatting datao Visualization– graphs, tools, etc.
我不知道,但我需要这样的人才
我先把数据分析这标题的关注个卸下来太可怕了
去做DataCastle上面的竞赛题吧~一般都是公司在实际运作中遇到的问题,然后放到这个竞赛平台上来让专业的人解决在做竞赛中才能知道哪些需要更多的补充

我要回帖

更多关于 信阳挑战职场 的文章

 

随机推荐