Подтвердить что ты не робот

Массовое обучение машинам - Python или Java?

В настоящее время я приступаю к проекту, который включает в себя сканирование и обработку огромных объемов данных (сотни концертов), а также их разработку для извлечения структурированных данных, распознавание имен, дедупликацию, классификацию и т.д.

Я знаком с инструментами ML как из Java, так и из мира Python: Lingpipe, Mahout, NLTK и т.д. Однако, когда дело доходит до выбора платформы для такой крупномасштабной проблемы, мне не хватает опыта, чтобы решить Java или Python.

Я знаю, что это звучит как неопределенный вопрос, но я ищу общий совет по выбору Java или Python. JVM предлагает лучшую производительность (?) Над Python, но такие библиотеки, как Lingpipe и т.д., Соответствуют экосистеме Python? Если бы я отправился на этот Python, насколько легко было бы масштабировать его и управлять им на нескольких машинах и т.д.

С кем мне пойти и почему?

4b9b3361

Ответ 1

По мере того, как Apache работает над созданием отличных материалов, таких как Lucene/Solr/Nutch для поиска, Mahout для обучения машинам с большими данными, Hadoop для уменьшения карты, OpenNLP для NLP, много материалов NoSQL. Наилучшая часть - это большое "я", которое означает интеграцию, и эти продукты могут быть хорошо интегрированы друг с другом, как правило, в большинстве ситуаций они (эти продукты) дополняют друг друга.

Python тоже слишком хорош, если вы рассмотрите выше из ASF, тогда я поеду с Java, как Шон Оуэн. Python всегда будет доступен для вышеупомянутого, но в основном как Add on, а не фактический материал. Например, вы можете использовать Hadoop, используя Python, используя Streaming и т.д.

Я частично переключился с С++ на Java, чтобы использовать некоторые из самых популярных продуктов Apache, таких как Lucene, Solr и OpenNLP, а также другие популярные продукты с открытым исходным кодом NoSQL Java, такие как Neo4j и OrientDB.

Ответ 2

Я думаю, что одна большая вещь, на которую идет Java, - это Hadoop. Если вы действительно имеете в виду большие масштабы, вы захотите использовать что-то подобное. Вообще говоря, Java обладает преимуществами производительности и доступными библиотеками. Итак: Java.

Ответ 3

Если вы ищете базы данных NoSQL, подходящие для задач ML, то Neo4J является одним из более готовых к производству (относительно) и способных обрабатывать BigData, он является родным для JAVA, но поставляется вместе с красивым API REST из коробки и, следовательно, можно интегрировать с платформой по вашему выбору. JAVA предоставит вам преимущество в производительности.