大规模机器学习-Python还是Java?

2024-09-27 09:31:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在着手一个项目,将涉及抓取和处理大量数据(数百千兆),并挖掘它们以提取结构化数据,命名实体识别,重复数据消除,分类等

我熟悉Java和Python世界的ML工具:Lingpipe、Mahout、NLTK等等。然而,当为如此大规模的问题选择一个平台时,我缺乏足够的经验来决定Java还是Python。

我知道这听起来像一个模糊的问题,但我正在寻找选择Java或Python的一般建议。JVM提供了更好的性能(?)在Python之上,但是像Lingpipe等库是否与Python生态系统匹配?如果我使用这个Python,那么在多台机器上扩展和管理它是多么容易

我应该和哪一个一起去,为什么?


Tags: 工具数据项目实体世界分类平台经验
3条回答

我认为Java的一大特色就是Hadoop。如果你真的是指大规模,你会希望能够使用类似的东西。一般来说,Java具有性能优势,并且可以使用更多的库。所以:Java。

由于Apache正在大力开发优秀的搜索工具,比如Lucene/Solr/Nutch,Mahout用于大数据机器学习,Hadoop用于Map Reduce,OpenNLP用于NLP,以及许多NoSQL工具。最好的部分是大“I”,代表集成,这些产品可以相互集成,当然,在大多数情况下,它们(这些产品)是相辅相成的。

Python也很好,但是如果你从ASF的上面考虑,那么我将使用像Sean Owen这样的Java。Python将始终可用于上述内容,但主要类似于Add-on,而不是实际的内容。例如,您可以使用Python通过流式处理等来完成Hadoop

部分地从C++切换到爪哇,以便利用一些非常流行的Apache产品,如Lucene、SoR&OpenPnP以及其他流行的开源NoSQL java产品,如NeN4J&Orr.DeDB。

如果您正在寻找适合ML任务的NoSQL数据库,那么Neo4J是一个更适合生产(相对而言)并且能够处理BigData的数据库,它是JAVA本地的,但是附带了一个漂亮的现成REST API,因此可以与您选择的平台集成。JAVA将为您提供性能优势。

相关问题 更多 >

    热门问题