大数据分析需要学习什么知识呀

1、学习大数据首先要学习Java基础
怎样进行大数据学习的快速入门?学大数据课程之前要先学习一种计算机编程语言。Java是大数据学习需要的编程语言基础,因为大数据的开发基于常用的高级语言。而且不论是学习hadoop,还是数据挖掘,都需要有编程语言作为基础。因此,如果想学习大数据开发,掌握Java基础是必不可少的。

2、学习大数据必须学习大数据核心知识

Hadoop生态系统;HDFS技术;HBASE技术;Sqoop使用流程;数据仓库工具HIVE;大数据离线分析Spark、Python语言;数据实时分析Storm;消息订阅分发系统Kafka等。

如果把大数据比作容器,那么这个容器的容量无限大,什么都能往里装,大数据离不开物联网,移动互联网,大数据还和人工智能、云计算和机器学习有着千丝万缕的关系,大数据海量数据存储要高扩展就离不开云计算,大数据计算分析采用传统的机器学习、数据挖掘技术会比较慢,需要做并行计算和分布式计算扩展。
3数学知识,数学知识是数据分析师的基础知识。对于数据分析师,了解一些描述统计相关的内容,需要有一定公式计算能力,了解常用统计模型算法。而对于数据挖掘工程师来说,各类算法也需要熟练使用,对数学的要求是最高的。

编程语言,对于想学大数据的同学,至少需要具备一门编程语言,比如SQL、hadoop、hive查询、Python等均可。

4、学习大数据可以应用的领域

大数据技术可以应用在各个领域,比如公安大数据、交通大数据、医疗大数据、就业大数据、环境大数据、图像大数据、视频大数据等等,应用范围非常广泛,大数据技术已经像空气一样渗透在生活的方方面面。大数据技术的出现将社会带入了一个高速发展的时代,这不仅是信息技术的终极目标,也是人类社会发展管理智能化的核心技术驱动力。

Ⅱ 数据分析需要掌握哪些知识

数据分析所需要掌握的知识:

数学知识

对于初级数据分析师来说,则需要了解统计相关的基础性内容,公式计算,统计模型等。当你获得一份数据集时,需要先进行了解数据集的质量,进行描述统计。

而对于高级数据分析师,必须具备统计模型的能力,线性代数也要有一定的了解。


分析工具

对于分析工具,SQL 是必须会的,还有要熟悉Excel数据透视表和公式的使用,另外,还要学会一个统计分析工具,SAS作为入门是比较好的,VBA 基本必备,SPSS/SAS/R 至少要熟练使用其中之一,其他分析工具(如 Matlab)可以视情况而定。


编程语言

数据分析领域最热门的两大语言是 R 和 Python。涉及各类统计函数和工具的调用,R无疑有优势。但是大数据量的处理力不足,学习曲线比较陡峭。Python 适用性强,可以将分析的过程脚本化。所以,如果你想在这一领域有所发展,学习 Python 也是相当有必要的。

当然其他编程语言也是需要掌握的。要有独立把数据化为己用的能力, 这其中SQL 是最基本的,你必须会用 SQL 查询数据、会快速写程序分析数据。当然,编程技术不需要达到软件工程师的水平。要想更深入的分析问题你可能还会用到:Exploratory analysis skills、Optimization、Simulation、Machine Learning、Data Mining、Modeling 等。


业务理解

对业务的理解是数据分析师工作的基础,数据的获取方案、指标的选取、还有最终结论的洞察,都依赖于数据分析师对业务本身的理解。

对于初级数据分析师,主要工作是提取数据和做一些简单图表,以及少量的洞察结论,拥有对业务的基本了解就可以。对于高级数据分析师,需要对业务有较为深入的了解,能够基于数据,提炼出有效观点,对实际业务能有所帮助。对于数据挖掘工程师,对业务有基本了解就可以,重点还是需要放在发挥自己的技术能力上。


逻辑思维

对于初级数据分析师,逻辑思维主要体现在数据分析过程中每一步都有目的性,知道自己需要用什么样的手段,达到什么样的目标。对于高级数据分析师,逻辑思维主要体现在搭建完整有效的分析框架,了解分析对象之间的关联关系,清楚每一个指标变化的前因后果,会给业务带来的影响。对于数据挖掘工程师,罗辑思维除了体现在和业务相关的分析工作上,还包括算法逻辑,程序逻辑等,所以对逻辑思维的要求也是最高的。


数据可视化

数据可视化主要借助于图形化手段,清晰有效地传达与沟通信息。听起来很高大上,其实包括的范围很广,做个 PPT 里边放上数据图表也可以算是数据可视化。

对于初级数据分析师,能用 Excel 和 PPT 做出基本的图表和报告,能清楚地展示数据,就达到目标了。对于稍高级的数据分析师,需要使用更有效的数据分析工具,根据实际需求做出或简单或复杂,但适合受众观看的数据可视化内容。


协调沟通

数据分析师不仅需要具备破译数据的能力,也经常被要求向项目经理和部门主管提供有关某些数据点的建议,所以,你需要有较强的交流能力。

对于高级数据分析师,需要开始独立带项目,或者和产品做一些合作,因此除了沟通能力以外,还需要一些项目协调能力。

Ⅲ 大数据时代对编程有什么影响

世界上有一个著名的编程语言排行榜,即TIOBE以反映编程语言的热门程度。年3月的排行中,Java、Python、R语言和Scala分别占据了第一、第五、第十三和第三十的位置。上图中反映出近十五年来,Java在绝大多数时间中都占据了排行榜的首位,足见其本身的流行度。
1.Java
正如前面所提到的,Java是目前编写大数据的重要语言,我们用的Hadoop、Spark和Storm都是用Java语言编写而成的,可见Java语言在大数据方面的重要作用。
Java最初由Sun公司的詹姆斯·高斯林开发出来,高斯林长期供职于Sun公司,但Sun公司在2009年被甲骨文收购,高斯林一直对甲骨文公司抱有不满,并于2010年离开甲骨文加入谷歌,他在离开甲骨文时说:“我所说的都关乎细节与诚实,但吐露真相只会带来更多的坏处”,“在Sun与甲骨文的并购会议上,到处是有关Sun和谷歌专利的争吵。甲骨文律师的眼睛闪闪发光。”关于Java的故事虽然铺满了传奇,比如那些不可思议的成功、失之交臂的良机、纠缠不清的官司,但Java本身却成功地应用在网络计算、移动等各个领域。历史上从未有像Java这样可以如此广泛地被应用的语言和平台。
Java语言如此成功与Java的特点是密切相关的,在Java之前最流行的编程语言是C语言,但C语言的指针处理对普通程序员而言简直是梦魇,经常会带来内层泄露问题。因此,高斯林发明Java的一个重要原因便是为了解决C语言的泄露问题和C++兼容C语法而造成的一些历史遗留问题。Java提出了引用类型,取消了C语言中特殊的指针语法,并通过垃圾自动回收的机制,自动回收不再使用的对象内存。程序员只需创建对象,无需关心如何回收对象,这便使得程序员的犯错率大大降低,开发效率也大大提升。同时,Java还提出了中间语言和虚拟机的概念,Java程序会先编译成叫字节码的中间语言,再由运行在各操作系统上的Java虚拟机软件(JVM),在运行时解释和执行。这样做的好处是实现了当年Java的口号:一次编写、到处运行,使得企业可以自由选择操作系统和服务器设备,保护了企业的投资。
我们直觉上认为,Java编写的代码需要编译为字节码,再由虚拟机来解释执行,运行速度应该慢于直接编译为机器码的语言,如C语言。但人们对Java虚拟机做了大量的优化,使得普通程序员编写的Java程序远快于普通程序员编写的C语言程序,不同水平的Java程序员也能较好的进行团队协作,开发大型项目,变相降低了企业的人力成本。
Java具有跨平台特性和开放特性,编写效率相对较高,它属于强类型的静态语言,其本身结构非常方便大型项目的组织管理和模块划分。因此,毕业于美国斯坦福大学的Hadoop之父DougCutting在编写Hadoop时选择了Java语言,这并非偶然。
Java语言的特点人们比较认可的是:简单性、面向对象、分布式、健壮性、多线程、安全性、可移植性、动态性等特点,当然,其中的简单、多线程是相对于当时的C语言、C++而言的。总之,Java构成了当前企业大数据计算的基石。
2.Python
1989年的圣诞节期间,在荷兰的阿姆斯特丹,年轻的Guidovan Rossum为了打发圣诞节的无聊,决定开发一个新的脚本解释程序,由于他非常喜欢英国六人喜剧团体Monty Python,因此以Python作为脚本名称。
Python由ABC语言继承而来,非常适合非程序员来学习使用,普通人员在学习Python时入门非常容易,刚刚提到Java是一门简单的语言,Python则是“更加简单”的语言。我们在开始学习Java时,需要配置环境变量、安装基础开发环境、编译运行等,这些基础工作使得很多人抓狂,甚至成功将很多人吓跑了。Python要简单得多,下载安装之后,在命令行直接输入Python,便可打开一个解释器,每执行一行代码能立即看到输出结果。因此,初学者非常乐意将Python当作一个强大的科学计算器来使用,体验Python的强大功能。
Python遵循了优雅、明确、简单的设计原则,一件事情会有很多种方法,其中会有相对较好的一种。Python开发者的哲学是用一种方法,最好只用一种方法做一件事情,如果有多种选择,Python开发者会拒绝花哨的语法,而是选择明确的、没有歧义的语法。
Python强制使用空格作为逻辑代码块的隶属关系控制,强制程序员养成良好的编程习惯。Python的解释器中会输出Python推荐的编写风格和准则,例如优美胜于丑陋,明了胜于晦涩。在Python显示器中输入importthis,便可看到这一系列准则的英文。
经过二十多年的发展,Python已变得非常流行。从早期的各类系统管理任务和web编程,到后来的科学计算和数据分析,Python的应用都比较多。Python的简洁、易读和可扩展性使得用Python做科学计算的研究机构日益增多,如卡内基梅隆大学的编程基础、MIT的计算机科学基编程导论都采用了Python来教授这些课程。此外,众多开源的科学计算软件包也都提供了Python调用接口,如著名的图形库(OpenCV)、三维可视化库(VTK),在科学计算和数据分析方面也形成了较为统一的经典扩展库,如用于快速数组处理的NumPy、数值运算专用的SciPy、图形绘制的MatplotLib、金融处理方面的Pandas。同时,还有大量的经典图书采用了Python语言来讲解数据挖掘方面的相关理论,如集体智慧编程、社交媒体的数据挖掘与分析等等。
因此,Python的特点可以总结为简单、优雅、易于扩展、有丰富的科学计算和数据分析扩展库,非常适合数据科学家来学习使用。
3.R语言
R语言本质上是一款集统计分析和可视化于一体的免费的可跨平台运行的统计软件。由新西兰奥克兰大学的Robert Gentleman和RossIhaka二人在九十年代初期共同发明,当时两个人教授一门初等的统计课程,为方便授课开发了这一语言,由于两个人的名字均以R开头,因此被称为R语言。
R语言可以看作是大名鼎鼎的贝尔实验室所开发的S语言的一种实现。1975年,贝尔实验室的统计研究部使用了一套文档齐全的扩充库来做统计研究,我们称其为SCS。但SCS在做统计分析时需要大量的编程,有人认为这样太麻烦,于是贝尔实验室又开发了一套完整的高级语言系统,即S语言,用于交互。1993年,S语言的许可证被MathSoft公司买断了,引起了人们的担忧,而开源的R语言引起了人们的关注。1997年,R语言正式成为GNU项目,大量的优秀统计学家加入了R语言的开发行列。到今天,这一场开源和商业、开放和封闭之争已尘埃落定,R语言已成为当今最为流行的统计分析工具之一。
和Python类似,R语言的使用也很简单,直接打开R的交互环境,输入demo,便可以看到其中的一些例子。因此,初学者可以很快地获得直观的感受,增加学习的乐趣,对学习统计知识非常有帮助。
从R语言的发展历史来看,主要是为统计学家解决数据分析问题而开发的。R的特点是尤其擅长于数据的统计分析。R语言算法几乎覆盖了整个统计领域的前沿算法,重复性的工作借助R语言强大的分析能力和排版能力,利用Sweave能得到很好的解决。R本身属于统计编程类语言,受到其算法架构的通用性和速度、性能等方面的影响,最开始的设计完全是基于单线程和内存计算完成。因此,在处理大规模数据时显得力不从心,好在R有一些优秀的扩展,能在一定程度上解决这些问题。如SparkR、RHadoop等等。
4.Scala语言
我们知道,伟大的Java促进了今日信息技术的辉煌,Java支撑了大量的企业级关键应用,如web站点、手机应用等等。但人们一直期待Java的重大改进和更新换代,使其吸收其他语言的长处,进一步提升生产效率。而Scala不仅在“更好的Java”方面做得非常成功,而且在并发编程、大数据处理、科学计算方面都取得了不错的效果。
Scala由瑞士的联邦理工学院Martin Odersky在2003年开始设计,在此之前,他已经因对Java的优化而闻名于世,Scala是其又一成名之作。正如其名,Scala本身是一门可扩展的语言,其中有静态运行、面向对象编程、函数式编程、类型推导、高阶函数等众多特性。Scala语言非常经典,相同的功能用Scala实现,代码量能达到Java的百分之二十左右。Scala不仅可以做到更好的Java,而且在数据统计分析方面,原先Python和R语言独具的一些统计分析模块,已经有越来越多的Scala实现,例如Breeze、Spark data frame、Zeppelin。我们知道以前的数据分析书籍大多由Python语言写成,现在也有许多用Scala进行数据分析和机器学习的书籍,如Scala Data Analysis Cookbook、Scala for Machine Learning。
Scala可以无缝衔接原有的Java库,充分地利用现有的Java资源,在大数据并行分析处理方面更是独具优势。因此,很多大数据平台都选择Scala作为首要的实现语言和API接口语言。
个人认为,Scala最主要的特点是非常灵活,以至于初学者的学习曲线比较陡峭,但Scala很好地将Java的面向对象编程方法与Haskell函数式编程思想揉在一起,其中体现的现代化编程思想值得程序设计人员深入的学习和体会。
这四种编程语言各有各的优点,但有人的地方便有争论,这里的争论焦点主要集中于R和Python间的选择问题。其实,通过这两种语言的官网介绍,便可以看出他们的定位并不完全一致,Python是一种通用的编程语言,除数据分析外在很多领域都有广泛的应用,R的定位是“用于统计计算的免费软件环境”。
三、初学者如何选择大数据编程语言
工欲善其事必先利其器,对于奋战在大数据处理和分析前沿的人员而言,手中应有一把使用自如的快刀,当面对上述四种各有特色的编程语言应如何选择?
在Quora上,有人提到,对于数据工程推荐使用Java和Scala,对于数据科学推荐使用Python和R语言,个人觉得很有道理。如果你是一个统计学家,并没有太多的计算机科学背景,R应该是一个很不错的选择;如果接受过较为系统的程序设计训练,又想从事数据分析方面的工作,Python应该是不错的选择;如果我们要做大数据产品、大数据具体项目,或者想深入了解现在大数据框架底层的运行机制,那学习Java是必不可少的基本要求;对于Scala语言,如果你是一个熟练的Java工程师,厌倦了Java的冗余繁琐,向往美好的函数式编程、向往Python的简洁优雅、向往R语言的强大统计功能,可以选择Scala。Scala还有一个额外的好处,用Scala写的程序代码初级程序员很难看懂,也不敢随意修改,便不用担心在团队协作时精心编写的代码被一些初级程序员改错。
当然,个人认为,编程语言并没有高低贵贱和优劣之分,各有各的优点,如果你有兴趣和能力,不妨将各种语言都实践一遍,尤其是侧重于大数据工程的技术人员,在学好一门重量级的语言,如Java语言,与此同时,掌握一门Python或R语言对于开拓自己的视野、学习数据分析的理论、阅读相关的书籍都是大有裨益的。

Ⅳ 大数据培训需要学多久

大数据要学多久,这得看你选择的学校课程安排了,我是从零基础开始学的,在光环大数据,大概学了5个月,白天全天上课,晚上复习做作业,每个学校的课程设置安排不一样,可能如果没有项目实战的话时间会比较短的吧,还有如果你是有基础的话学习时间可能会短一些~学习这件事儿不能着急呀,时间不是最重要的,重要的是能不能学会呢!

Ⅳ 怎样进行大数据的入门级学习

怎样进行大数据的入门级学习?

文 | 郭小贤

数据科学并没有一个独立的学科体系,统计学,机器学习,数据挖掘,数据库,分布式计算,云计算,信息可视化等技术或方法来对付数据。

但从狭义上来看,我认为数据科学就是解决三个问题:

1. datapre-processing;(数据预处理)

2. datainterpretation;(数据解读)

3.datamodeling and analysis.(数据建模与分析)

这也就是我们做数据工作的三个大步骤:

1、原始数据要经过一连串收集、提取、清洗、整理等等的预处理过程,才能形成高质量的数据;

2、我们想看看数据“长什么样”,有什么特点和规律;

3、按照自己的需要,比如要对数据贴标签分类,或者预测,或者想要从大量复杂的数据中提取有价值的且不易发现的信息,都要对数据建模,得到output。

这三个步骤未必严谨,每个大步骤下面可能依问题的不同也会有不同的小步骤,但按我这几年的经验来看,按照这个大思路走,数据一般不会做跑偏。

这样看来,数据科学其实就是门复合型的技术,既然是技术就从编程语言谈起吧,为了简练,只说说R和Python。但既然是荐数据科学方面的书,我这里就不提R/Python编程基础之类的书了,直接上跟数据科学相关的。

R programming

如果只是想初步了解一下R语言已经R在数据分析方面的应用,那不妨就看看这两本:

R inaction:我的R语言大数据101。其实对于一个没有任何编程基础的人来说,一开始就学这本书,学习曲线可能会比较陡峭。但如果配合上一些辅助材料,如官方发布的R basics(http://cran.r-project.org/doc/contrib/usingR.pdf),stackoverflow上有tag-R的问题集(Newest ‘r’ Questions),遇到复杂的问题可在上面搜索,总会找到解决方案的。这样一来,用这本书拿来入门学习也问题不大。而且这本书作者写得也比较轻松,紧贴实战。

Dataanalysis and graphics using R:使用R语言做数据分析的入门书。这本书的特点也是紧贴实战,没有过多地讲解统计学理论,所以喜欢通过情境应用来学习的人应该会喜欢这本入门书。而且这本书可读性比较强,也就是说哪怕你手头没电脑写不了代码,有事没事拿出这本书翻一翻,也能读得进去。

但如果你先用R来从事实实在在的数据工作,那么上面两本恐怕不够,还需要这些:

Modernapplied statistics with S:这本书里统计学的理论就讲得比较多了,好处就是你可以用一本书既复习了统计学,又学了R语言。(S/Splus和R的关系就类似于Unix和Linux,所以用S教程学习R,一点问题都没有)

Datamanipulation with R:这本书实务性很强,它教给你怎么从不同格式的原始数据文件里读取、清洗、转换、整合成高质量的数据。当然和任何一本注重实战的书一样,本书也有丰富的真实数据或模拟数据供你练习。对于真正从事数据处理工作的人来说,这本书的内容非常重要,因为对于任何研究,一项熟练的数据预处理技能可以帮你节省大量的时间和精力。否则,你的研究总是要等待你的数据。

RGraphics Cookbook:想用R做可视化,就用这本书吧。150多个recipes,足以帮你应付绝大多数类型的数据。以我现在极业余的可视化操作水平来看,R是最容易做出最漂亮的图表的工具了。

Anintroction to statistical learning with application in R:这本书算是著名的the element of statistical learning的姊妹篇,后者更注重统计(机器)学习的模型和算法,而前者所涉及的模型和算法原没有后者全面或深入,但却是用R来学习和应用机器学习的很好的入口。

Ahandbook of statistical analysis using R:这本书内容同样非常扎实,很多统计学的学生就是用这本书来学习用R来进行统计建模的。

Python

Think Python,ThinkStats,Think Bayes:这是AllenB. Downey写的著名的Think X series三大卷。其实是三本精致的小册子,如果想快速地掌握Python在统计方面的操作,好好阅读这三本书,认真做习题,答案链接在书里有。这三本书学通了,就可以上手用Python进行基本的统计建模了。

PythonFor Data Analysis: 作者是pandas的主要开发者,也正是Pandas使Python能够像R一样拥有dataframe的功能,能够处理结构比较复杂的数据。这本书其实analysis讲得不多,说成数据处理应该更合适。掌握了这本书,处理各种糟心的数据就问题不大了。

Introctionto Python for Econometrics, Statistics and DataAnalysis:这本书第一章就告诉你要安装Numpy, Scipy, Matplotlib, Pandas, IPython等等。然后接下来的十好几章就是逐一介绍这几个库该怎么用。很全面,但读起来比较枯燥,可以用来当工具书。

PracticalData Analysis: 这本书挺奇葩,貌似很畅销,但作者把内容安排得东一榔头西一棒子,什么都讲一点,但一个都没讲透。这本书可以作为我们学习数据分析的一个索引,看到哪块内容有意思,就顺着它这个藤去摸更多的瓜。

PythonData Visualization Cookbook: 用Python做可视化的教材肯定不少,我看过的也就这一本,觉得还不错。其实这类书差别都不会很大,咬住一本啃下来就是王道。

Exploratory Data Analysis 和 Data Visualization

Exploratory DataAnalysis:John Tukey写于1977年的经典老教材,是这一领域的开山之作。如今EDA已经是统计学里的重要一支,但当时还是有很多人对他的工作不屑一顾。可他爱数据,坚信数据可以以一种出人意料的方式呈现出来。正是他的努力,让数据可视化成为一门无比迷人的技术。但这本书不推荐阅读了,内容略过时。要想完整地了解EDA,推荐下一本:

ExploratoryData Analysis with MATLAB:这本书虽然标题带了个MATLAB,但实际上内容几乎没怎么讲MATLAB,只是每讲一个方法的时候就列出对应的MATALB函数。这本书的重要之处在于,这是我读过的讲EDA最系统的一本书,除了对visualization有不输于John Tucky的讲解外,对于高维的数据集,通过怎样的方法才能让我们从中找到潜在的pattern,这本书也做了详尽的讲解。全书所以案例都有对应的MATALB代码,而且还提供了GUI(图形用户界面)。所以这本书学起来还是相当轻松愉悦的。

VisualizeThis:中译本叫“鲜活的数据”,作者是个“超级数据迷”,建立了一个叫http://flowingdata.com的网页展示他的数据可视化作品,这本书告诉你该选择什么样的可视化工具,然后告诉你怎样visualize关系型数据、时间序列、空间数据等,最后你就可以用数据讲故事了。如果你只想感受一下数据可视化是个什么,可以直接点开下面这个链接感受下吧!A tour through the visualization zoo(A TourThrough the Visualization Zoo)

Machine Learning & Data Mining

这一块就不多说了,不是因为它不重要,而是因为它太太太重要。所以这一部分就推两本书,都是”世界名著“,都比较难读,需要一点点地啃。这两本书拿下,基本就算是登堂入室了。其实作为机器学习的延伸和深化,概率图模型(PGM)和深度学习(deep learning)同样值得研究,特别是后者现在简直火得不得了。但PGM偏难,啃K.Daphne那本大作实在太烧脑,也没必要,而且在数据领域的应用也不算很广。deep learning目前工业界的步子迈得比学术界的大,各个domain的应用如火如荼,但要有公认的好教材问世则还需时日,所以PGM和deep learning这两块就不荐书了。

TheElement of Statistical Learning:要学机器学习,如果让我只推荐一本书,我就推荐这本巨著。Hastie、Tibshirani、Friedman这三位大牛写书写得太用心了,大厦建得够高够大,结构也非常严谨,而且很有前瞻性,纳入了很多前沿的内容,而不仅仅是一部综述性的教材。(图表也做得非常漂亮,应该是用R语言的ggplot2做的。)这本书注重讲解模型和算法本身,所以需要具备比较扎实的数理基础,啃起这本书来才不会太吃力。事实上掌握模型和算法的原理非常重要。机器学习(统计学习)的库现在已经非常丰富,即使你没有完全搞懂某个模型或算法的原理和过程,只要会用那几个库,机器学习也能做得下去。但你会发现你把数据代进去,效果永远都不好。但是,当你透彻地理解了模型和算法本身,你再调用那几个库的时候,心情是完全不一样的,效果也不一样。

DataMining: Concepts and Techniques, by Jiawei Han and Micheline Kamber 数据挖掘的教材汗牛充栋,之所以推荐这本韩家炜爷爷的,是因为虽然他这本书的出发点是应用,但原理上的内容也一点没有落下,内容非常完整。而且紧跟时代,更新的很快,我看过的是第二版,就已经加进去了social network analysis这种当时的前沿内容。现在已经有第三版了,我还没看过,但应该也加入了不少新内容。其实这本书并不难读,只是篇幅较长,啃起来比较耗时。

其实这两本书里单拎出来一块内容可能又是几本书的节奏,比如bayesian方法,再拿出两三本书来讲也不为过,我个人用到的比较多,而且也确实有不少好书。但并非是所有data scientist都要用到,所以这一块就不再细说。

还有一些印象比较深刻的书:

Big DataGlossary: 主要讲解大数据处理技术及工具,内容涵盖了NoSQL,MapRece,Storage,Servers,NLP库与工具包,机器学习工具包,数据可视化工具包,数据清洗,序列化指南等等。总之,是一本辞典式的大数据入门指导。

Mining ofMassive Datasets:这本书是斯坦福大学Web Mining的讲义,里面很多内容与韩家炜的Data Mining那本书重合,但这本书里详细地讲了MapRece的设计原理,PageRank(Google创业时期的核心排序算法,现在也在不断优化更新)讲解得也比较详细。

DevelopingAnalytic Talent: 作者是个从事了十几年数据工作的geek,技术博客写得很有个人风格,写的内容都比较偏门,通常只有具备相关数据处理经验的人能体会出来,丝毫不照顾初学者的感受。比如他会谈到当数据流更新太快时该怎么办,或者MapRece在什么时候不好用的问题,才不管你懂不懂相关基础原理。所以这本书不太适合初学者阅读。这本书其实是作者的博客文章的集结,用how to become a data scientist的逻辑把他近几年的博客文章串联了起来。

Past, Present and Future of Statistical Science:这本书是由COPSS(统计学社大大委员会,由国际各大统计学会的带头人组成)在50周年出版的一本纪念册,里面有50位统计学家每人分别贡献出的一两篇文章,有的回忆了自己当年如何走上统计学这条路,有的探讨了一些统计学的根本问题,有的谈了谈自己在从事的前沿研究,有的则给年轻一代写下了寄语。非常有爱的一本书。

其它资料

Harvard Data Science:这是H大的Data science在线课,我没有修过,但口碑很好。这门课需要费用8千刀左右,比起华盛顿大学的4千刀的Data science在线课虽贵一倍,但比斯坦福的14千刀要便宜将近一半(而且斯坦福的更偏计算机)。如果想自学,早有好心人分享了slides:(https://drive.google.com/folderview?id=0BxYkKyLxfsNVd0xicUVDS1dIS0k&usp=sharing)和homeworks and solutions: (https://github.com/cs109/content)

PyData:PyData是来自各个domain的用Python做数据的人每年举行一次的聚会,期间会有各路牛人举行一些规模不大的seminar或workshop,有好心人已经把video上传到github,有兴趣的去认领吧(DataTau/datascience-anthology-pydata · GitHub)

工具

R/Python/MATLAB(必备):如果是做数据分析和模型开发,以我的观察来看,使用这三种工具的最多。R生来就是一个统计学家开发的软件,所做的事也自然围绕统计学展开。MATLAB虽然算不上是个专业的数据分析工具,但因为很多人不是专业做数据的,做数据还是为了自己的domain expertise(特别是科学计算、信号处理等),而MATLAB又是个强大无比的Domain expertise工具,所以很多人也就顺带让MATLAB也承担了数据处理的工作,虽然它有时候显得效率不高。Python虽然不是做数据分析的专业软件,但作为一个面向对象的高级动态语言,其开源的生态使Python拥有无比丰富的库,Numpy, Scipy 实现了矩阵运算/科学计算,相当于实现了MATLAB的功能,Pandas又使Python能够像R一样处理dataframe,scikit-learn又实现了机器学习。

SQL(必备):虽然现在人们都说传统的关系型数据库如Oracle、MySQL越来越无法适应大数据的发展,但对于很多人来说,他们每天都有处理数据的需要,但可能一辈子都没机会接触TB级的数据。不管怎么说,不论是用关系型还是非关系型数据库,SQL语言是必须要掌握的技能,用什么数据库视具体情况而定。

MongoDB(可选):目前最受欢迎的非关系型数据库NoSQL之一,不少人认为MongoDB完全可以取代mySQL。确实MongoDB方便易用,扩展性强,Web2.0时代的必需品。

Hadoop/Spark/Storm(可选): MapRece是当前最著名也是运用最广泛的分布式计算框架,由Google建立。Hadoop/Spark/storm都是基于MapRece的框架建立起来的分布式计算系统,要说他们之间的区别就是,Hadoop用硬盘存储数据,Spark用内存存储数据,Storm只接受实时数据流而不存储数据。一言以蔽之,如果数据是离线的,如果数据比较复杂且对处理速度要求一般,就Hadoop,如果要速度,就Spark,如果数据是在线的实时的流数据,就Storm。

OpenRefine(可选):Google开发的一个易于操作的数据清洗工具,可以实现一些基本的清洗功能。

Tableau(可选):一个可交互的数据可视化工具,操作简单,开箱即用。而且图表都设计得非常漂亮。专业版1999美刀,终身使用。媒体和公关方面用得比较多。

Gephi(可选):跟Tableau类似,都是那种可交互的可视化工具,不需要编程基础,生成的图表在美学和设计上也是花了心血的。更擅长复杂网络的可视化。

来自知乎

以上是小编为大家分享的关于怎样进行大数据的入门级学习?的相关内容,更多信息可以关注环球青藤分享更多干货

Ⅵ 大数据培训需要多久啊出来就可以就业了吗

大部分的培训时间在四个月时间,要想就业前提必须把技术学到手,能熟练掌握,找工作就不是问题,目前大数据是发展趋势。

Ⅶ 数据分析师需要具备的能力

  • 数学知识

对于初级数据分析师来说,则需要了解统计相关的基础性内容,公式计算,统计模型等。当你获得一份数据集时,需要先进行了解数据集的质量,进行描述统计。

而对于高级数据分析师,必须具备统计模型的能力,线性代数也要有一定的了解。

  • 分析工具

对于分析工具,SQL 是必须会的,还有要熟悉Excel数据透视表和公式的使用,另外,还要学会一个统计分析工具,SAS作为入门是比较好的,VBA 基本必备,SPSS/SAS/R 至少要熟练使用其中之一,其他分析工具(如 Matlab)可以视情况而定。

  • 编程语言

数据分析领域最热门的两大语言是 R 和 Python。涉及各类统计函数和工具的调用,R无疑有优势。但是大数据量的处理力不足,学习曲线比较陡峭。Python 适用性强,可以将分析的过程脚本化。所以,如果你想在这一领域有所发展,学习 Python 也是相当有必要的。

当然其他编程语言也是需要掌握的。要有独立把数据化为己用的能力, 这其中SQL 是最基本的,你必须会用 SQL 查询数据、会快速写程序分析数据。当然,编程技术不需要达到软件工程师的水平。要想更深入的分析问题你可能还会用到:Exploratory analysis skills、Optimization、Simulation、Machine Learning、Data Mining、Modeling 等。

  • 业务理解

对业务的理解是数据分析师工作的基础,数据的获取方案、指标的选取、还有最终结论的洞察,都依赖于数据分析师对业务本身的理解。

对于初级数据分析师,主要工作是提取数据和做一些简单图表,以及少量的洞察结论,拥有对业务的基本了解就可以。对于高级数据分析师,需要对业务有较为深入的了解,能够基于数据,提炼出有效观点,对实际业务能有所帮助。对于数据挖掘工程师,对业务有基本了解就可以,重点还是需要放在发挥自己的技术能力上。

  • 逻辑思维

对于初级数据分析师,逻辑思维主要体现在数据分析过程中每一步都有目的性,知道自己需要用什么样的手段,达到什么样的目标。对于高级数据分析师,逻辑思维主要体现在搭建完整有效的分析框架,了解分析对象之间的关联关系,清楚每一个指标变化的前因后果,会给业务带来的影响。对于数据挖掘工程师,罗辑思维除了体现在和业务相关的分析工作上,还包括算法逻辑,程序逻辑等,所以对逻辑思维的要求也是最高的。

  • 数据可视化

数据可视化主要借助于图形化手段,清晰有效地传达与沟通信息。听起来很高大上,其实包括的范围很广,做个 PPT 里边放上数据图表也可以算是数据可视化。

对于初级数据分析师,能用 Excel 和 PPT 做出基本的图表和报告,能清楚地展示数据,就达到目标了。对于稍高级的数据分析师,需要使用更有效的数据分析工具,根据实际需求做出或简单或复杂,但适合受众观看的数据可视化内容。

  • 协调沟通

数据分析师不仅需要具备破译数据的能力,也经常被要求向项目经理和部门主管提供有关某些数据点的建议,所以,你需要有较强的交流能力。

对于高级数据分析师,需要开始独立带项目,或者和产品做一些合作,因此除了沟通能力以外,还需要一些项目协调能力。

Ⅷ 负责将数据从源数据搬到大数据系统的是哪个环节

大数据工具不应该破坏现有的数据仓库环境。虽然大量低成本,甚至零成本的工具降低了准入门槛,它们构成了Hadoop的生态系统,支持其存储和管理大量数据集的能力。很多原本居于商务智能和分析系统中心地位的企业数据仓库收到冲击。但是企业在数据仓库中投入了很多资金、资源和时间,建立并完善数据仓库的查询、报表和分析功能。企业不愿意这一切都付之东流。即便企业已经选择在Hadoop或NoSQL数据库上搭建新的商务智能和大数据分析架构,这也不是一朝一夕能够完成的。通常,这种转变还要以牺牲服务质量,甚至业务中断为代价。

因此,大多数企业都会选择集成的方式,让新旧系统技术协同工作。比如把基于Hadoop的客户分析应用和现存客户数据仓库结合起来。来自于数据仓库的客户数据可以放到Hadoop应用程序里进行分析,分析结果在返回数据仓库。

大数据关联

集成的第一步是在数据仓库和大数据平台间设置关联。目前,大数据系统主要用于增强数据仓库的能力,其数据存储的成本要低于传统数据仓库。很多早期用户还会在数据仓库分析数据之前,采用Hadoop集群和NoSQL数据库存储数据。这些应用使用起来都很简单,就像用Hadoop分布式文件系统(HDFS)存储数据一样,也可以通过Hive,HBase,Cassandra和其他NoSQL技术建立更复杂的关联。

将这些工具和数据仓库与商务智能框架结合起来需要关联性和说明。可以使用应用程序界面为数据仓库提供Hadoop和NoSQL系统的接口。另外,不少供应商都提供连接SQL数据库和大数据系统的封闭的连接器,包括基于集成标准的ODBC(开放数据库连接)和JDBC(Java数据库连接)。对于不能适用于传统关系模型的系统,可以用一个集成层将半结构化数据从原格式(比如YAML或JSON)转到可被商务智能应用读取的格式。

如果要集成更加紧密,还有其他的方法。例如,数据仓库系统逐渐对MapRece功能开放,从而增强SQL语言,将Hadoop集群的分析处理和商务智能查询结果结合起来。更一个例子是将Hadoop分析结果和数据仓库结合起来,用来生成报表和分析。

大数据阻力

随着大数据的不断发展,对很多IT和数据仓库团队来说,集成不同的应用迫在眉睫。一种高度灵活的集成方案至关重要。

脱节的体系结构。一种典型的方法是试点项目或验证概念,或测试早期产品应用,包括在自己孤立的环境中部署Hadoop或NoSQL系统。一个结构完整的集成方案必须把IT和数据架构与业务洞察力和设计结合起来,在混合型数据库、商务智能和分析架构中部署多种层。

管理缺陷。大数据工具的开源本质往往会导致企业只重功能不重管理。随着商业话大数据软件的成熟,这种状况会得以缓解。但现在仍要重视管理能力的提升。

技术短缺。扩大大数据集成面临的最大的挑战就在于使用Hadoop和NoSQL技术过程中产生的陡峭的学习曲线。毕竟在IT圈内,平行和分布式处理技术还很难懂,真正有开发和升级大数据应用经验的人就更少了。内部培训也许是速度最快、成本最低的方法。

在把Hadoop和NoSQL与数据仓库环境集成的问题上,很多公司关心的不是可行性,而是时间。早作准备,可以对面临的阻碍有一个良好的把握。对于不同的集成需求,企业需要构建可重复的解决流程,这才是项目的最终目标。

Ⅸ 怎样进行大数据的入门级学习

记住学到这里可以作为你学大数据的一个节点。

Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。

Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。

Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。

Hive:这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapRece程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。

Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapRece、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。

Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。

Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。

Spark:它是用来弥补基于MapRece处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。

Ⅹ 如何入门大数据

大数据
数据科学并没有一个独立的学科体系,统计学,机器学习,数据挖掘,数据库,分布式计算,云计算,信息可视化等技术或方法来对付数据。
但从狭义上来看,我认为数据科学就是解决三个问题:
1. data pre-processing;(数据预处理)
2. data interpretation;(数据解读)
3.data modeling and analysis.(数据建模与分析)
这也就是我们做数据工作的三个大步骤:
1、原始数据要经过一连串收集、提取、清洗、整理等等的预处理过程,才能形成高质量的数据;
2、我们想看看数据“长什么样”,有什么特点和规律;
3、按照自己的需要,比如要对数据贴标签分类,或者预测,或者想要从大量复杂的数据中提取有价值的且不易发现的信息,都要对数据建模,得到output。
这三个步骤未必严谨,每个大步骤下面可能依问题的不同也会有不同的小步骤,但按我这几年的经验来看,按照这个大思路走,数据一般不会做跑偏。
这样看来,数据科学其实就是门复合型的技术,既然是技术就从编程语言谈起吧,为了简练,只说说R和Python。但既然是荐数据科学方面的书,我这里就不提R/Python编程基础之类的书了,直接上跟数据科学相关的。
R programming
如果只是想初步了解一下R语言已经R在数据分析方面的应用,那不妨就看看这两本:
R in action:我的R语言大数据101。其实对于一个没有任何编程基础的人来说,一开始就学这本书,学习曲线可能会比较陡峭。但如果配合上一些辅助材料,如官方发布的R basics(http://cran.r-project.org/doc/contrib/usingR.pdf),stackoverflow上有tag-R的问题集(Newest ‘r’ Questions),遇到复杂的问题可在上面搜索,总会找到解决方案的。这样一来,用这本书拿来入门学习也问题不大。而且这本书作者写得也比较轻松,紧贴实战。
Data analysis and graphics using R:使用R语言做数据分析的入门书。这本书的特点也是紧贴实战,没有过多地讲解统计学理论,所以喜欢通过情境应用来学习的人应该会喜欢这本入门书。而且这本书可读性比较强,也就是说哪怕你手头没电脑写不了代码,有事没事拿出这本书翻一翻,也能读得进去。
但如果你先用R来从事实实在在的数据工作,那么上面两本恐怕不够,还需要这些:
Modern applied statistics with S:这本书里统计学的理论就讲得比较多了,好处就是你可以用一本书既复习了统计学,又学了R语言。(S/Splus和R的关系就类似于Unix和Linux,所以用S教程学习R,一点问题都没有)
Data manipulation with R:这本书实务性很强,它教给你怎么从不同格式的原始数据文件里读取、清洗、转换、整合成高质量的数据。当然和任何一本注重实战的书一样,本书也有丰富的真实数据或模拟数据供你练习。对于真正从事数据处理工作的人来说,这本书的内容非常重要,因为对于任何研究,一项熟练的数据预处理技能可以帮你节省大量的时间和精力。否则,你的研究总是要等待你的数据。
R Graphics Cookbook:想用R做可视化,就用这本书吧。150多个recipes,足以帮你应付绝大多数类型的数据。以我现在极业余的可视化操作水平来看,R是最容易做出最漂亮的图表的工具了。
An introction to statistical learning with application in R:这本书算是著名的the element of statistical learning的姊妹篇,后者更注重统计(机器)学习的模型和算法,而前者所涉及的模型和算法原没有后者全面或深入,但却是用R来学习和应用机器学习的很好的入口。
A handbook of statistical analysis using R:这本书内容同样非常扎实,很多统计学的学生就是用这本书来学习用R来进行统计建模的。
Python
Think Python,Think Stats,Think Bayes:这是Allen B. Downey写的著名的Think X series三大卷。其实是三本精致的小册子,如果想快速地掌握Python在统计方面的操作,好好阅读这三本书,认真做习题,答案链接在书里有。这三本书学通了,就可以上手用Python进行基本的统计建模了。
Python For Data Analysis: 作者是pandas的主要开发者,也正是Pandas使Python能够像R一样拥有dataframe的功能,能够处理结构比较复杂的数据。这本书其实analysis讲得不多,说成数据处理应该更合适。掌握了这本书,处理各种糟心的数据就问题不大了。
Introction to Python for Econometrics, Statistics and Data Analysis:这本书第一章就告诉你要安装Numpy, Scipy, Matplotlib, Pandas, IPython等等。然后接下来的十好几章就是逐一介绍这几个库该怎么用。很全面,但读起来比较枯燥,可以用来当工具书。
Practical Data Analysis: 这本书挺奇葩,貌似很畅销,但作者把内容安排得东一榔头西一棒子,什么都讲一点,但一个都没讲透。这本书可以作为我们学习数据分析的一个索引,看到哪块内容有意思,就顺着它这个藤去摸更多的瓜。
Python Data Visualization Cookbook: 用Python做可视化的教材肯定不少,我看过的也就这一本,觉得还不错。其实这类书差别都不会很大,咬住一本啃下来就是王道。
Exploratory Data Analysis 和 Data Visualization
Exploratory Data Analysis:John Tukey写于1977年的经典老教材,是这一领域的开山之作。如今EDA已经是统计学里的重要一支,但当时还是有很多人对他的工作不屑一顾。可他爱数据,坚信数据可以以一种出人意料的方式呈现出来。正是他的努力,让数据可视化成为一门无比迷人的技术。但这本书不推荐阅读了,内容略过时。要想完整地了解EDA,推荐下一本:
Exploratory Data Analysis with MATLAB:这本书虽然标题带了个MATLAB,但实际上内容几乎没怎么讲MATLAB,只是每讲一个方法的时候就列出对应的MATALB函数。这本书的重要之处在于,这是我读过的讲EDA最系统的一本书,除了对visualization有不输于John Tucky的讲解外,对于高维的数据集,通过怎样的方法才能让我们从中找到潜在的pattern,这本书也做了详尽的讲解。全书所以案例都有对应的MATALB代码,而且还提供了GUI(图形用户界面)。所以这本书学起来还是相当轻松愉悦的。
Visualize This:中译本叫“鲜活的数据”,作者是个“超级数据迷”,建立了一个叫http://flowingdata.com的网页展示他的数据可视化作品,这本书告诉你该选择什么样的可视化工具,然后告诉你怎样visualize关系型数据、时间序列、空间数据等,最后你就可以用数据讲故事了。如果你只想感受一下数据可视化是个什么,可以直接点开下面这个链接感受下吧!A tour through the visualization zoo(A Tour Through the Visualization Zoo)
Machine Learning & Data Mining
这一块就不多说了,不是因为它不重要,而是因为它太太太重要。所以这一部分就推两本书,都是”世界名著“,都比较难读,需要一点点地啃。这两本书拿下,基本就算是登堂入室了。其实作为机器学习的延伸和深化,概率图模型(PGM)和深度学习(deep learning)同样值得研究,特别是后者现在简直火得不得了。但PGM偏难,啃K.Daphne那本大作实在太烧脑,也没必要,而且在数据领域的应用也不算很广。deep learning目前工业界的步子迈得比学术界的大,各个domain的应用如火如荼,但要有公认的好教材问世则还需时日,所以PGM和deep learning这两块就不荐书了。
The Element of Statistical Learning:要学机器学习,如果让我只推荐一本书,我就推荐这本巨著。Hastie、Tibshirani、Friedman这三位大牛写书写得太用心了,大厦建得够高够大,结构也非常严谨,而且很有前瞻性,纳入了很多前沿的内容,而不仅仅是一部综述性的教材。(图表也做得非常漂亮,应该是用R语言的ggplot2做的。)这本书注重讲解模型和算法本身,所以需要具备比较扎实的数理基础,啃起这本书来才不会太吃力。事实上掌握模型和算法的原理非常重要。机器学习(统计学习)的库现在已经非常丰富,即使你没有完全搞懂某个模型或算法的原理和过程,只要会用那几个库,机器学习也能做得下去。但你会发现你把数据代进去,效果永远都不好。但是,当你透彻地理解了模型和算法本身,你再调用那几个库的时候,心情是完全不一样的,效果也不一样。
Data Mining: Concepts and Techniques, by Jiawei Han and Micheline Kamber 数据挖掘的教材汗牛充栋,之所以推荐这本韩家炜爷爷的,是因为虽然他这本书的出发点是应用,但原理上的内容也一点没有落下,内容非常完整。而且紧跟时代,更新的很快,我看过的是第二版,就已经加进去了social network analysis这种当时的前沿内容。现在已经有第三版了,我还没看过,但应该也加入了不少新内容。其实这本书并不难读,只是篇幅较长,啃起来比较耗时。
其实这两本书里单拎出来一块内容可能又是几本书的节奏,比如bayesian方法,再拿出两三本书来讲也不为过,我个人用到的比较多,而且也确实有不少好书。但并非是所有data scientist都要用到,所以这一块就不再细说。
还有一些印象比较深刻的书:
Big Data Glossary: 主要讲解大数据处理技术及工具,内容涵盖了NoSQL,MapRece,Storage,Servers,NLP库与工具包,机器学习工具包,数据可视化工具包,数据清洗,序列化指南等等。总之,是一本辞典式的大数据入门指导。
Mining of Massive Datasets:这本书是斯坦福大学Web Mining的讲义,里面很多内容与韩家炜的Data Mining那本书重合,但这本书里详细地讲了MapRece的设计原理,PageRank(Google创业时期的核心排序算法,现在也在不断优化更新)讲解得也比较详细。
Developing Analytic Talent: 作者是个从事了十几年数据工作的geek,技术博客写得很有个人风格,写的内容都比较偏门,通常只有具备相关数据处理经验的人能体会出来,丝毫不照顾初学者的感受。比如他会谈到当数据流更新太快时该怎么办,或者MapRece在什么时候不好用的问题,才不管你懂不懂相关基础原理。所以这本书不太适合初学者阅读。这本书其实是作者的博客文章的集结,用how to become a data scientist的逻辑把他近几年的博客文章串联了起来。
Past, Present and Future of Statistical Science:这本书是由COPSS(统计学社大大委员会,由国际各大统计学会的带头人组成)在50周年出版的一本纪念册,里面有50位统计学家每人分别贡献出的一两篇文章,有的回忆了自己当年如何走上统计学这条路,有的探讨了一些统计学的根本问题,有的谈了谈自己在从事的前沿研究,有的则给年轻一代写下了寄语。非常有爱的一本书。
其它资料
Harvard Data Science:这是H大的Data science在线课,我没有修过,但口碑很好。这门课需要费用8千刀左右,比起华盛顿大学的4千刀的Data science在线课虽贵一倍,但比斯坦福的14千刀要便宜将近一半(而且斯坦福的更偏计算机)。如果想自学,早有好心人分享了slides: (https://drive.google.com/folderview?id=0BxYkKyLxfsNVd0xicUVDS1dIS0k&usp=sharing)和homeworks and solutions: (https://github.com/cs109/content)
PyData:PyData是来自各个domain的用Python做数据的人每年举行一次的聚会,期间会有各路牛人举行一些规模不大的seminar或workshop,有好心人已经把video上传到github,有兴趣的去认领吧(DataTau/datascience-anthology-pydata · GitHub)
工具
R/Python/MATLAB(必备):如果是做数据分析和模型开发,以我的观察来看,使用这三种工具的最多。R生来就是一个统计学家开发的软件,所做的事也自然围绕统计学展开。MATLAB虽然算不上是个专业的数据分析工具,但因为很多人不是专业做数据的,做数据还是为了自己的domain expertise(特别是科学计算、信号处理等),而MATLAB又是个强大无比的Domain expertise工具,所以很多人也就顺带让MATLAB也承担了数据处理的工作,虽然它有时候显得效率不高。Python虽然不是做数据分析的专业软件,但作为一个面向对象的高级动态语言,其开源的生态使Python拥有无比丰富的库,Numpy, Scipy 实现了矩阵运算/科学计算,相当于实现了MATLAB的功能,Pandas又使Python能够像R一样处理dataframe,scikit-learn又实现了机器学习。
SQL(必备):虽然现在人们都说传统的关系型数据库如Oracle、MySQL越来越无法适应大数据的发展,但对于很多人来说,他们每天都有处理数据的需要,但可能一辈子都没机会接触TB级的数据。不管怎么说,不论是用关系型还是非关系型数据库,SQL语言是必须要掌握的技能,用什么数据库视具体情况而定。
MongoDB(可选):目前最受欢迎的非关系型数据库NoSQL之一,不少人认为MongoDB完全可以取代mySQL。确实MongoDB方便易用,扩展性强,Web2.0时代的必需品。
Hadoop/Spark/Storm(可选): MapRece是当前最著名也是运用最广泛的分布式计算框架,由Google建立。Hadoop/Spark/storm都是基于MapRece的框架建立起来的分布式计算系统,要说他们之间的区别就是,Hadoop用硬盘存储数据,Spark用内存存储数据,Storm只接受实时数据流而不存储数据。一言以蔽之,如果数据是离线的,如果数据比较复杂且对处理速度要求一般,就Hadoop,如果要速度,就Spark,如果数据是在线的实时的流数据,就Storm。
OpenRefine(可选):Google开发的一个易于操作的数据清洗工具,可以实现一些基本的清洗功能。
Tableau(可选):一个可交互的数据可视化工具,操作简单,开箱即用。而且图表都设计得非常漂亮。专业版1999美刀,终身使用。媒体和公关方面用得比较多。
Gephi(可选):跟Tableau类似,都是那种可交互的可视化工具,不需要编程基础,生成的图表在美学和设计上也是花了心血的。更擅长复杂网络的可视化。