【问题标题】:ML/Data Mining/Big Data : Popular language for programming and community supportML/数据挖掘/大数据:编程和社区支持的流行语言
【发布时间】:2011-06-21 17:54:56
【问题描述】:

我不确定这个问题是否正确,但我想解决我的疑问。

  • 对于Machine Learning/Data Mining,我们需要学习数据,这意味着你需要学习Hadoop,它在Java中实现了MapReduce(如果我错了,请纠正我)。
  • Hadoop还提供streaming api支持其他语言(如python
  • 我认识的大多数研究生/研究人员在 python 中解决机器学习问题
  • 我们经常看到hadoop and Java combination 的职位发布

我观察到JavaPython(在我的观察中)是该领域最广泛使用的语言。

  • 我的问题是most popular language 在这个域上工作是什么。
  • factors 参与决定应该选择哪种语言/框架
  • 我知道 Java 和 python,但总是很困惑:
    • 我是否在Java(because of hadoop implementation)开始编程
    • 我是否在Python(because its easier and quicker to write)开始编程

这是一个非常开放的问题,我相信这些建议可能会对我和有同样疑问的人有所帮助。
提前非常感谢

【问题讨论】:

标签: java python hadoop machine-learning bigdata


【解决方案1】:

不幸的是,在我看来,主要的语言是 MATLAB...我说不幸的是因为我既不喜欢也不使用这种语言,我更有可能使用 C++/Java 进行编程。但是我周围的数据挖掘者和机器学习者倾向于坚持使用 MATLAB...

编辑:我刚刚在Wikipedia's page on R 中读到了非常有趣的一行:

根据 Rexer 2010 年的年度数据挖掘者调查,R 已成为 数据挖掘者使用的数据挖掘工具(43%)比其他任何工具都多。

【讨论】:

    【解决方案2】:

    我在 Java 和 Hadoop 方面没有经验,但我同时使用 Python 和 MATLAB 进行机器学习,而且我现在更频繁地使用 MATLAB。实际上,我的案例的重要因素如下:

    • 几乎所有同事都使用 MATLAB 和 C++,很少有人使用 Python。他们的 Python 使用仅限于一般脚本,而不是特定的机器学习内容。因此,当我使用 Python 时,获得帮助的唯一途径是网络,我们在实验室内共享代码时遇到了问题。
    • MATLAB 的 IDE 及其丰富的文档使其非常适合我的案例。
    • 您可以在 MATLAB 中处理大型数据集。 link 1link2
    • 有许多用 MATLAB 编写的机器学习/数据挖掘库,而大多数用 C++/Java 编写的库都有 MATLAB 包装器。

    有些观点也适用于 Python。但正如我所提到的,我工作的社区在决定语言方面发挥着重要作用。

    【讨论】:

      【解决方案3】:

      R 是数据挖掘(当然)和机器学习的优秀候选者。

      (当然是概括。)

      Java 和 Hadoop 在大数据和/或扩展需求的环境中非常有意义。 Java 为您提供库和程序员大军。 Hadoop 为您提供了相当轻松的分发和不断增长的将各种算法映射到框架的知识库。

      Python 似乎有学者支持,尤其是最近在专业实践中活跃且有影响力的毕业生。此外,如果您只是想尝试一些东西,那么像 Python 这样富有表现力的动态语言显然会非常有用。

      然后是R。(还有很多,但这是我的知识范围/g/)

      我认为,除了明显关注 R 带来的数据(因此也有数据极客社区来帮助科学部分)之外,它还是一个令人愉快的轻量级系统和not too shabby at all in terms of libraries as well

      也就是说,人们会认为 (~) 函数式语言(Scala、JVM 上的 Clojure;Haskell 等)非常适合处理数据和处理庞大的数据集。

      【讨论】:

        【解决方案4】:

        我认为在这个领域最流行的组合是 Java/Hadoop。当职位空缺还需要 python/perl/ruby 时,通常意味着由于从启动代码库迁移到企业,它们正在从那些脚本语言(通常是当时的主要语言)迁移到 java。 此外,在现实世界的数据挖掘应用程序中,python 经常用于原型设计、小型数据处理任务。

        【讨论】:

          【解决方案5】:

          Python 越来越受欢迎,拥有很多库,并且对于原型设计非常有用。我发现由于 python 的许多版本及其对 C 库的依赖关系很难部署。

          R 也很受欢迎,有很多库,并且专为数据科学而设计。但是,底层语言设计往往会使事情变得过于复杂。

          就个人而言,我更喜欢 Clojure,因为它具有出色的数据操作支持,并且可以与 Java 生态系统互操作。目前它的缺点是还没有太多的数据科学库!

          【讨论】:

            猜你喜欢
            • 2015-03-27
            • 2010-12-17
            • 2011-02-07
            • 2014-04-20
            • 2019-09-21
            • 2012-05-01
            • 1970-01-01
            • 2014-10-08
            • 2015-05-16
            相关资源
            最近更新 更多