Hadooop,Mahout和Spark
互联网给了我们收集大量用户行为和习惯数据的机会。Apache
Hadoop是处理大数据的首选框架。对数据科学来讲,Hadoop是非常重要的,因为它是一个进行分布式数据处理的可扩展框架。并不是所有的数据科学问
题都需要进行大数据处理,不过当你的问题涉及到互联网级数据的时候,Hadoop就是理想的选择。实现谷歌页面排名算法的MapReduce框架就是数据
科学在大数据处理框架早期实现的例子。(Hadoop实现了MapReduce。)Apache
Pig可以让你更容易地访问Hadoop,而且它还引入了一种用来自动构建MapReduce应用的查询式语言。 Apache Mahout是Hadoop平台上可扩展性机器学习算法的具体实现。Mahout包括集群算法的可扩展性实现和(用于实现推荐系统的)批处理方式、多方协作的过滤算法的可扩展性实现。
另一个值得一提处理大数据的解决方案是Spark框架。Spark框架包含了一些优化措施,比如在内存内进行具有失效容忍机制的集群计算。 R项目
经常能在数据挖掘人员的工具箱里发现这样的工具:一种称作R的编程语言和开发环境。R关注的是统计计算和图形化。R的学习相对简单,而且在数据分析领域得到了广泛的应用。由于R是开发源代码的,而且是免费的,因此它是一种具有广泛用户基础的流行的语言。
R是一个多模式的语言,即它支持面向对象的编程、函数式编程,过程型编程以及命令行式编程风格。R语言是通过命令行接口来解释执行的,而且它还包括丰富的 生产级别的图形化功能。统计图形化是其首先创造的。 另外,通过使用其他软件包可实现动态的和交互式图形。图3展示了使用R语言生成的曲线图的例子:
图3.使用R语言实现的三维sinc曲线。 R编程语言是用C和Fortran语言开发的。R中的许多标准的内部函数都是用R语言自身编写的。R支持多种语言混合式编程,这样就能够让你从如C和Java TM语言来访问R对象。利用package功能,你就可以很容易地扩展R的功能。package可以使用R、C、Java和C编程语言编写。 |