À grande échelle de l'apprentissage machine Python ou Java?
Je suis actuellement en train de se lancer dans un projet qui va impliquer l'analyse et le traitement d'énormes quantités de données (des centaines de concerts), et aussi l'exploitation minière pour l'extraction de données structurées, la reconnaissance des entités nommées, la déduplication, la classification, etc.
Je suis familier avec ML outils de Java et en Python monde: Lingpipe, Mahout, NLTK, etc. Cependant, quand il s'agit de choisir une plate-forme à grande échelle de problème, je manque de suffisamment d'expérience pour décider entre Java ou Python.
Je sais que cela sonne comme une vague question, mais je suis à la recherche pour des conseils généraux sur le choix de Java ou Python. La JVM offre de meilleures performances(?) cours de Python, mais sont des bibliothèques comme Lingpipe etc. correspondre avec le Python écosystème? Si je suis allé ce Python, comment serait-il facile d'être mise à l'échelle et de les gérer à travers plusieurs machines etc.
Qui dois-je aller et pourquoi?
- Python 🙂
- Les algorithmes utilisés sont aussi important (ou plus) que la langue, dans les grandes ML tâches; par exemple, le vecteur propre base de techniques peut être impossible lorsque l'on traite avec beaucoup de données. Ainsi, alors qu'il est utile de réfléchir à chaque langue les outils disponibles pour une large gamme de problèmes, le ML algorithmes utilisés peuvent dominer les performances.
- Votre question est très intéressante, mais aussi très, très large, je ne sais même pas ce que je pourrais mettre dans une réponse. Un mot de conseil serait d'utiliser Mahout (projet de Hadoop) qui s'attaque directement à votre préoccupation. Essayez de faire de votre question beaucoup plus explicite et détaillée, ou il sera probablement fermé, même si il a du potentiel.
Vous devez vous connecter pour publier un commentaire.
Que Apache est la force de produire d'excellents trucs comme Lucene/Solr/Nutch pour la Recherche, Mahout pour le Big Data, Machine Learning, Hadoop pour la Carte de Réduire, OpenNLP pour la PNL, beaucoup de NoSQL choses. La meilleure partie est le grand "je", qui signifie l'intégration et ces produits peuvent être intégrés les uns avec les autres ainsi que des cours dans la plupart des cas, ils (ces produits) complètent les uns les autres.
Python est trop grande, cependant, si vous considérez au-dessus de ASF, alors je vais aller avec Java comme Sean Owen. Python seront toujours disponibles pour le dessus, mais la plupart du temps comme Ajouter sur et pas les choses. Par exemple, vous pouvez faire Hadoop à l'aide de Python en utilisant le Streaming, etc.
Je suis partiellement changé à partir de C++ à Java afin d'utiliser certains de la très populaire Apache produits comme Lucene, Solr & OpenNLP et aussi d'autres open source les plus populaires NoSQL Java produits comme Neo4j & OrientDB.
Je pense qu'un gros truc Java a aller pour elle est Hadoop. Si tu veux vraiment dire, à grande échelle, vous aurez envie d'être en mesure d'utiliser quelque chose comme ça. Généralement parlant de Java a l'avantage de performance, et de plus en plus de bibliothèques disponibles. Donc: Java.
Si vous êtes à la recherche dans les bases de données NoSQL ajustement pour ML tâche, puis Neo4J est l'un des plus prêt de production (relativement) et capable de gérer des BigData, il est originaire de JAVA, mais est livré avec une belle API REST hors de la boîte et peut donc être intégré à la plate-forme de votre choix. JAVA vous donnera une performance de pointe.