掰一掰GitHub上优秀的大数据项目

VMware CEO Pat Gelsinger曾说:

  数据科学是未来,大数据分析则是打开未来之门的钥匙

企业正在迅速用新技术武装自己以便从大数据项目中获益。各行业对大数据分析人才的需求也迫使我们升级自己的技能以便寻找更好的职业发展。

跳槽之前最好先搞清楚一个岗位会接触到的项目类型,这样你才能掌握所有需要的技能,工作的效率也会更高。

下面我们尽量列出了一些流行的开源大数据项目。根据它们各自的授权协议,你或许可以在个人或者商业项目中使用这些项目的源代码。写作本文的目的也就是为大家介绍一些解决大数据相关问题可能会用到的工具。

1.Apache Mahout

我 们可以使用Apache Mahout来快速创建高效扩展性又好的机器学习应用。Mahout结合了诸如H2O算法、Scala、Spark和Hadoop MapReduce等模块,为开发人员提供了一个构建可扩展算法的环境。现在最新的版本是去年11月6日发布的0.11.1版本。

Apache Mahout支持一个叫做Samsara的数学环境,用户可以在Samsara中使用它提供的常见算法来开发自己的数学解决方案。Samsara对于线性 代数、数据结构和统计操作都有着很好的支持,而且可以通过Scala的Mahout扩展或Mahout库来进行定制。Samara对很多常见算法都进行了 重写因此速度上有一定的提升。这里我们能列出的一些算法包括:朴素贝叶斯分类器、矩阵分解、协同过滤以及神经网络。新加入的相似性分析还可以通过分析用户 的点击来实现共现推荐算法。

Apache Mahout GitHub地址:https://github.com/apache/mahout

2.Apache Spark

Apache Spark是一个为实时大数据分析所设计的开源数据处理引擎。目前Spark的大用户有雅虎、腾讯和百度,使用Spark处理的数据在PB级别,集群节点 数目也超过8000。Apache Spark是GitHub上最大的数据处理项目之一,有超过750名开发人员都曾对项目做出过贡献。

与Hadoop MapReduce相比Apache Spark在内存中的运行速度快100倍,在硬盘中运行速度的差距也在10倍以上。Spark能够达到这样的速度靠的是DAG引擎和内存内计算性能的提 升。开发语言可以使用Java、Python、Scala和R,此外Spark还提供了差不多100种集合操作符以便开发人员构建并行应用。

图:Spark生态系统

Apache Spark为机器学习、Spark Streaming和GraphX提供了众多强大的库,其中也包括为DataFrame和SQL所设计的库。开发人员可以用这些标准库来提升应用的性能和 开发效率。Spark可以运行于很多环境中,如独立的集群、Hadoop YARN、EC2和Apache Mesos。Apache Spark也能从Hive、HBase、Tachyon、Cassandra和HDFS等数据源读取数据。

Apache Spark GitHub地址:https://github.com/apache/spark

3.Apache Storm

Apache Storm的设计针对的是流式数据,不过对于大数据的实时分析它也是很可靠的计算系统。它同样是一个开源项目而且开发人员可以使用所有的主流高级语言。 Apache Storm主要用于以下应用:在线机器学习、连续计算、实时分析、ETL、分布式RPC。Apache Storm有配置方便、可用性高、容错性好及扩展性好等诸多优点,处理速度也极快,每个节点每秒可以处理数百万个tuple。

目前最新的Apache Storm是去年11月5日发布的0.9.6版。

Storm 集群中有三种节点:Nimbus、Zookeeper和Supervisor。Nimbus与Hadoop的JobTracker类似,主要用于运算的上 传、代码的分发和计算的监测。Zookeeper节点的作用是Storm集群的协调,Supervisor节点则是实现对worker的控制。

Apache Storm GitHub地址https://github.com/apache/storm/

4.NTLK(自然语言处理工具箱)

NTLK是用于开发Python自然语言相关应用的一个工具包。它自带用于断句、分类、标记、词干提取、语义推理和语法分析的库,此外还有一个较为活跃的社区。对于语言学的实证研究、人工智能、认知科学、机器学习和信息提取来说都是强大的工具,当然你得用Python。

自动补全是NTLK可能的用处之一。输入部分文字,借助NTLK可以推测可能的完整句子,现在很多搜索引擎都有这个功能。其他可能的应用还包括文本归类、地址分析和智能语音命令等。

NTLK GitHub地址:https://github.com/nltk/nltk

5.mLoss

mLoss是机器学习开源软件的英文缩写,它将很多开源软件集合到了同一个平台。mLoss所收集的开源项目都经过审阅并附有对项目的简短介绍。mLoss本身并不是一个软件而是一个支持机器学习应用开源的网站。

mLoss网站上列出的开源软件有各自项目不同的48种授权协议,作者数量高达1100人。mLoss是到目前为止最大的机器学习软件库,共支持107种数据类型,所涉及的操作系统有26个,使用的编程语言也有51种。

mLoss网站上列出的软件中较为流行的有:

  • dlib ml:机器学习算法的C++库
  • R-Cran-Caret:分类和回归训练库
  • Shogun:为SVM所设计的机器学习工具箱,适用于Python、Matlab、Octave和R
  • Armadillo:一个线性代数C++库
  • MLPY:以NumPy和SciPY为基础构建的Python机器学习库
  • MyMediaLite:一个推荐器算法库
  • mLoss网站:http://mloss.org/

6.Julia

Julia是为技术计算所设计的一门动态高级语言。虽然它的语法和其他技术计算环境的语法差不多,但Julia现在的使用范围还比较窄。Julia支持分布式并行计算还有着完备的高精度数学函数库。

JuliaStats是一个机器学习和统计工具的合集,目的是帮助Julia用户创建可扩展且高效的应用。下面列出了JuliaStats中包括的一些程序:

  • StatsBase:从名字我们就能看出StatsBase提供的是统计学相关的基本功能,比如描述统计、统计动差、样本函数、计数、排序、互相关、自相关以及加权统计等。
  • DataArrays: 一个允许数据为空的数组类型,对重复数据的计算进行了优化。
  • DataFrames: 表数据类型,提供包括索引、合并以及公式等操作。
  • Distribution:用于计算分布的库,功能包括一元分布、多元分布、概率密度函数、累积分布函数以及最大似然估计。
  • Multivariate Stats:为多元统计分析所设计,功能包括降维、线性回归、线性判别分析以及多维标度。
  • MLBase:包括数据预处理、模型选择以及交叉验证等机器学习算法。
  • Clustering:包括聚类分析所用到的算法如k-means、k-medoids以及多种评估方法。

这里我们只列出了一部分数据分析和机器学习相关的库,其他库包括假设检验、核密度估计、非负矩阵分解NMF、广义线性模型GLM、马尔科夫链蒙特卡洛方法MCMC以及时序分析等。所有库的源码都可以在GitHub上找到。

Julia GitHub地址:https://github.com/JuliaStats

7.Scikit-Learn

Scikit-Learn是为机器学习所设计的开源Python库。它基于SciPy、NumPy和Matplotlib开发,称得上是一款数据分析和数据挖掘的利器。Scikit-Learn的授权协议允许个人和商业用户使用。

Scikit-Learn主要用于:

  • 聚类:识别数据中的不同类别。算法包括最邻近搜索、支持向量机和随机森林,可以用于图像识别和垃圾邮件识别等应用。
  • 回归:用于连续变量的预测。算法包括岭回归、支持向量回归、套索回归等。应用包括股票价格、天气以及电力负载的预测。
  • 降维:用于减少随机变量的个数。算法包括主成分分析、特征选择、乔里斯基分解和矩阵分解。
  • 数据处理:特征提取与数据预处理功能可以将原始数据转换成有利于机器学习应用处理的格式。

Scikit-Learn GitHub地址:https://github.com/scikit-learn/scikit-learn

本文中我们列出的这些GitHub项目应用颇为流行,而且这些工具和软件已经被用于解决实际中的大数据问题,希望本文能够对大家的大数据分析之路有所启发。

本文作者:佚名

来源:51CTO

时间: 2025-01-19 19:44:57

掰一掰GitHub上优秀的大数据项目的相关文章

Github上优秀的Objective-C项目简介

Github上优秀的Objective-C项目简介 主要对当前Github排名靠前的项目做一个简单的简介,方便自己快速了解 Objective-C的一些优秀的开源框架. 项目名称 项目信息  AFNetworking 作者是 NSHipster 的博主, iOS 开发界的大神级人物, 毕业于卡内基·梅隆大学, 开源了许多牛逼的项目, 这个便是其中之一, AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单

史上最全“大数据”学习资源整理

史上最全"大数据"学习资源整理 2016-05-17 Hadoop技术博文 当前,整个互联网正在从IT时代向DT时代演进,大数据技术也正在助力企业和公众敲开DT世界大门.当今"大数据"一词的重点其实已经不仅在于数据规模的定义,它更代表着信息技术发展进入了一个新的时代,代表着爆炸性的数据信息给传统的计算技术和信息技术带来的技术挑战和困难,代表着大数据处理所需的新的技术和方法,也代表着大数据分析和应用所带来的新发明.新服务和新的发展机遇.     资源列表:   关系数

如何成为一名优秀的大数据工程师

大数据是眼下非常时髦的技术名词,与此同时自然也催生出了一些与大数据处理相关的职业,通过对数据的挖掘分析来影响企业的商业决策. 这群人在国外被叫做数据科学家(Data Scientist),这个头衔最早由D.J.Pati和Jeff Hammerbacher于2008年提出,他们后来分别成为了领英(LinkedIn)和Facebook数据科学团队的负责人.而数据科学家这个职位目前也已经在美国传统的电信.零售.金融.制造.物流.医疗.教育等行业里开始创造价值. 不过在国内,大数据的应用才刚刚萌芽,人才

畅享“云”上的未来 “大数据”时代我们如何生活

2016年10月9日下午,中央政治局集体学习,关注"实施网络强国战略"话题.习近平主持学习,并提出了建设国家大数据中心的要求. 互联网的东西,看得到,摸不着,说起来总是玄乎乎的. 那么,大数据又是什么来头?它能给我们老百姓带来什么?我们身边的大数据又有哪些? 我们试图尽量通俗易懂地告诉大家-- 国务院印发的<促进大数据发展行动纲要>是这样定义大数据的: 是以容量大.类型多.存取速度快.应用价值高为主要特征的数据集合,正快速发展为对数量巨大.来源分散.格式多样的数据进行采集.

如何在云上实现大数据项目

云计算和大数据目前都是热门话题,如何把两者结合起来即在云上实现大数据项目,这是一个新的实践领域.资深数据专家David Gillman根据自己的经验,列举了云上大数据方案需要考虑的基本要素,包括对数据构建实时索引.自由模式搜索与分析.监视数据并提供实时警告等,帮助用户更好地评估和选择解决方案. 在谈到如何实现云上大数据项目时,David强调了三个实时要素,即实时索引.实时数据和实时监控.具体来说,实时索引指的是"对所有机器数据创建通用的实时索引": 这是大多数人所认为的大数据的核心;它

加快打造“云上贵州”,靠大数据实现“后发赶超”

"把大数据作为全省弯道取直.后发赶超的战略引擎,充分挖掘利用其商业价值.管理价值.社会价值,以大数据提升政府治理能力,引领产业转型升级,服务广大社会民生,带动大众创业.万众创新."26日,在贵州省十二届人大四次会议开幕式上,贵州省代省长孙志刚在做政府工作报告时说. 经过近两年的实践探索,贵州大数据产业规模总量已超过5000亿元,年均增长20%以上,成为新的支柱产业.全新的发展模式,正在培育贵州经济发展"新动能",为同步小康插上"翅膀". 截至20

Github上怎么修改别人的项目并且提交给原作者!图文并茂!

Github上怎么修改别人的项目并且提交给原作者!图文并茂! 写这篇博客的初衷,是因为我的项目Only需要一些朋友一起参与进来,但是很多的Git都不是很熟练,其实版本控制这种东西没有什么难度的,只要稍微掌握以下就好了,如果有兴趣的话也可以到Only这个项目进来 Only:https://github.com/LiuGuiLinAndroid/Only 好的,不多说,直接开车了,我们先简单的找一个项目,比如这个项目,我需要更改他的内容,我们就直接fork这个项目 紧接着你就可以看到这个项目已经被你

欢迎参加全国云计算大数据项目评选活动!

江苏赛区的比赛由江苏省云计算论坛专家委员会主办. 大赛官方网址:http://cloudpx.zdnet.com.cn 本次项目评选活动覆盖北京.深圳.广州.南京.杭州.西安.济南.成都.台北九大地区 地区总评选评出前10名的项目将获得: 奖金 各地区科技相关部门给予的奖励优惠政策 本地区及全国范围市场宣传 投资基金和创业投资机构优先支持 与国内外云计算大数据知名企业的合作机会等 江苏省参赛队伍请直接在http://cloudpx.zdnet.com.cn上提交报名表. 5月17日,通过初选的项

Gartner警示大数据项目不应独立实施

本文讲的是Gartner警示大数据项目不应独立实施,Gartner提醒组织,不要把大数据看作是一个独立的类别;如果忽视了移动化和桌面计算的差别就很有可能存在风险;企业将数据转为现金很有商机. 谈到下周在西班牙举办的BI分析和主数据管理峰会,Gartner分析师Ted Friedman建议组织:"不要将大数据实施独立开来,要将它归为BI的整体战略中." 在新闻发布会上,Gartner声称:"随着IT组织在过去几年中所做的尝试,尤其是Hadoop DBMS产品设备的出现,应用供应