大规模机器学习 - Python还是Java?[已关闭]

2022-09-01 07:46:35

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

我熟悉Java和Python世界的ML工具:Lingpipe,Mahout,NLTK等。但是,当涉及到为如此大规模的问题选择一个平台时,我缺乏足够的经验来在Java或Python之间做出决定。

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

我应该选择哪一个,为什么?


答案 1

随着Apache的蓬勃发展,生产出优秀的东西,比如Lucene/Solr/Nutch for Search,Mahout for Big Data Machine Learning,Hadoop for Map Reduce,OpenNLP for NLP,很多NoSQL的东西。最好的部分是代表集成的大“I”,这些产品可以相互集成,当然在大多数情况下,它们(这些产品)可以相互补充。

Python也很棒,但是如果你考虑上面的ASF,那么我会像Sean Owen一样使用Java。Python将始终可用于上述内容,但主要像Add on一样,而不是实际的东西。例如,您可以通过使用Streaming等使用Python来做Hadoop。

我部分从C++切换到Java,以便利用一些非常流行的Apache产品,如Lucene,Solr和OpenNLP以及其他流行的开源NoSQL Java产品,如Neo4j和OrientDB。


答案 2

我认为Java的一件大事是Hadoop。如果你真的想说大规模,你会希望能够使用这样的东西。一般来说,Java具有性能优势,并且有更多的库可用。所以:Java。