热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Programming学习2_大数据常用十种开发语言

随着大数据热潮持续延烧,几乎每个产业都有如洪水般倾泻的信息,面对上万笔的顾客浏览纪录、购买行为数据,如果要用Excel来进行数据处理真是太

 随着大数据热潮持续延烧,几乎每个产业都有如洪水般倾泻的信息,面对上万笔的顾客浏览纪录、购买行为数据,如果要用 Excel 来进行数据处理真是太不切实际了,Excel 相较于其他统计软件的功能已相去甚远;但如果只会操作统计软件而不会用逻辑分析数据背后的涵义与事实现况相应证的话,那也不过只能做数据处理,替代性很高的工作,而无法深入规划策略的核心。

  当然,基本功是最不可忽略的环节,想要成为数据科学家,对于这几个程序你应该要有一定的认识:

  R

  若要列出所有程序语言,你能忘记其他的没关系,但最不能忘的就是 R。从 1997 年悄悄地出现,最大的优势就是它免费,为昂贵的统计软件像是 Matlab 或 SAS 的另一种选择。

  但是在过去几年来,它的身价大翻转,变成了资料科学界眼中的宝。不只是木讷的统计学家熟知它,包括 Wall Street 交易员、生物学家,以及硅谷开发者,他们都相当熟悉 R。多元化的公司像是 Google、Facebook、美国银行以及 New York Times 通通都使用 R,它的商业效用持续提高。

  R 的好处在于它简单易上手,透过 R,你可以从复杂的数据集中筛选你要的数据,从复杂的模型函数中操作数据,建立井然有序的图表来呈现数字,这些都只需要几行程序代码就可以了,打个比方,它就像是好动版本的 Excel。

  R 最棒的资产就是活跃的动态系统,R 社群持续地增加新的软件包,还有以内建丰富的功能集为特点。目前估计已有超过 200 万人使用 R,最近的调查显示,R 在数据科学界里,到目前为止最受欢迎的语言,占了回复者的 61%(紧追在后的是 39% 的 Python)。

  它也吸引了 Wall Street 的注目。传统而言,证券分析师在 Excel 档从白天看到晚上,但现在 R 在财务建模的使用率逐渐增加,特别是可视化工具,美国银行的副总裁 Niall O’Conno 说,「R 让我们俗气的表格变得突出」。

  在数据建模上,它正在往逐渐成熟的专业语言迈进,虽然 R 仍受限于当公司需要制造大规模的产品时,而有的人说他被其他语言篡夺地位了。

  “R 更有用的是在画图,而不是建模。”顶尖数据分析公司 Metamarkets 的 CEO,Michael Driscoll 表示,
“你不会在 Google 的网页排名核心或是 Facebook 的朋友们推荐算法时看到 R 的踪影,工程师会在 R 里建立一个原型,然后再到 Java 或 Python 里写模型语法”。

  举一个使用 R 很有名的例子,在 2010 年时,Paul Butler 用 R 来建立 Facebook 的世界地图,证明了这个语言有多丰富多强大的可视化数据能力,虽然他现在比以前更少使用 R 了。

  “R 已经逐渐过时了,在庞大的数据集底下它跑的慢又笨重”Butler 说。

  所以接下来他用什么呢?

http://techorange.com/wp-content/uploads/2014/05/python-logo-master-v3-TM.png

  Python

  如果说 R 是神经质又令人喜爱的 Geek,那 Python 就是随和又好相处的女生。

  Python 结合了 R 的快速、处理复杂数据采矿的能力以及更务实的语言等各个特质,迅速地成为主流,Python 比起 R,学起来更加简单也更直观,而且它的生态系统近几年来不可思议地快速成长,在统计分析上比起 R 功能更强。

  Butler 说,“过去两年间,从 R 到 Python 地显著改变,就像是一个巨人不断地推动向前进‘。

  在数据处理范畴内,通常在规模与复杂之间要有个取舍,而 Python 以折衷的姿态出现。IPythonNotebook(记事本软件)和 NumPy 被用来暂时存取较低负担的工作量,然而 Python 对于中等规模的数据处理是相当好的工具;Python 拥有丰富的资料族,提供大量的工具包和统计特征。

  美国银行用 Python 来建立新产品和在银行的基础建设接口,同时也处理财务数据,“Python 是更广泛又相当有弹性,所以大家会对它趋之若鹜。”O’Donnell 如是说。

  然而,虽然它的优点能够弥补 R 的缺点,它仍然不是最高效能的语言,偶尔才能处理庞大规模、核心的基础建设。Driscoll 是这么认为的。

  Julia

  今日大多数的数据科学都是透过 R、Python、Java、Matlab 及 SAS 为主,但仍然存在着鸿沟要去弥补,而这个时候,新进者 Julia 看到了这个痛点。

  Julia 仍太过于神秘而尚未被业界广泛的采用,但是当谈到它的潜力足以抢夺 R 和 Python 的宝座时,数据黑客也难以解释。原因在于 Julia 是个高阶、不可思议的快速和善于表达的语言,比起 R 要快的许多,比起 Python 又有潜力处理更具规模的数据,也很容易上手。

  “Julia 会变的日渐重要,最终,在 R 和 Python 可以做的事情在 Julia 也可以”。Butler 是这么认为的。

  就现在而言,若要说 Julia 发展会倒退的原因,大概就是它太年轻了。Julia 的数据小区还在初始阶段,在它要能够和 R 或 Python 竞争前,它还需要更多的工具包和软件包。

  Driscoll 说,它就是因为它年轻,才会有可能变成主流又有前景。

/uploadImages/2014/211/A4QCXC828LU7.jpg

   Java

  Driscoll 说,Java 和以 Java 为基础的架构,是由硅谷里最大的几家科技公司的核心所建立的,如果你从 Twitter、Linkedin 或是 Facebook 里观察,你会发现 Java 对于所有数据工程基础架构而言,是非常基础的语言。

  Java 没有和 R 和 Python 一样好的可视化功能,它也不是统计建模的最佳工具,但是如果你需要建立一个庞大的系统、使用过去的原型,那 Java 通常会是你最基的选择。

   Hadoop and Hive

  为了迎合大量数据处理的需求,以 Java 为基础的工具群兴起。Hadoop 为处理一批批数据处理,发展以 Java 为基础的架构关键;相较于其他处理工具,Hadoop 慢许多,但是无比的准确和可被后端数据库分析广泛使用。和 Hive 搭配的很好,Hive 是基于查询的架构下,运作的相当好。

  Scala

  又是另一个以 Java 为基础的语言,和 Java 很像,对任何想要进行大规模的机械学习或是建立高阶的算法,Scala 会是逐渐兴起的工具。它是善于呈现且拥有建立可靠系统的能力。

  “Java 像是用钢铁建造的;Scala 则是让你能够把它拿进窑烤然后变成钢的黏土”Driscoll 说。

  Kafka and Storm

  说到当你需要快速的、实时的分析时,你会想到什么?Kafka 将会是你的最佳伙伴。其实它已经出现五年有了,只是因为最近串流处理兴起才变的越来越流行。

  Kafka 是从 Linkedin 内诞生的,是一个特别快速的查询讯息系统。Kafka 的缺点呢?就是它太快了,因此在实时操作时它会犯错,有时候会漏掉东西。

  鱼与熊掌不可兼得,「必须要在准确度跟速度之间做一个选择」,Driscoll 说。所以全部在硅谷的科技大公司都利用两个管道:用 Kafka 或 Storm 处理实时数据,接下来打开 Hadoop 处理一批批处理数据系统,这样听起来有点麻烦又会有些慢,但好处是,它非常非常精准。

  Storm 是另一个从 Scala 写出来的架构,在硅谷逐渐大幅增加它在串流处理的受欢迎程度,被 Twitter 并购,这并不意外,因为 Twitter 对快速事件处理有极大的兴趣。

http://techorange.com/wp-content/uploads/2014/05/MATLABlog-550x338.png

   Matlab

  Matlab 可以说是历久不衰,即使它标价很高;在非常特定的利基市场它使用的相当广泛,包括密集的研究机器学习、信号处理、图像辨识等等。

   Octave

  Octave 和 Matlab 很像,除了它是免费的之外。然而,在学术信号处理的圈子,几乎都会提到它。

   GO

  GO 是另一个逐渐兴起的新进者,从 Google 开发出来的,放宽点说,它是从 C 语言来的,并且在建立强大的基础架构上,渐渐地成为 Java 和 Python 的竞争者。

  这么多的软件可以使用,但我认为不见得每个都一定要会才行,知道你的目标和方向是什么,就选定一个最适合的工具使用吧!可以帮助你提升效率又达到精准的结果。


推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • Imdevelopinganappwhichneedstogetmusicfilebystreamingforplayinglive.我正在开发一个应用程序,需要通过流 ... [详细]
  • OAuth2.0指南
    引言OAuth2.0是一种应用之间彼此访问数据的开源授权协议。比如,一个游戏应用可以访问Facebook的用户数据,或者一个基于地理的应用可以访问Foursquare的用户数据等。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了Flutter添加APP启动StoryView相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 如何压缩网站页面以减少页面加载时间
    本文介绍了影响网站打开时间的两个因素,即网页加载速度和网站页面大小。重点讲解了如何通过压缩网站页面来减少页面加载时间。具体包括图片压缩、Javascript压缩、CSS压缩和HTML压缩等方法,并推荐了相应的压缩工具。此外,还提到了一款Google Chrome插件——网页加载速度分析工具Speed Tracer。 ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
author-avatar
手机用户2602905667
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有