Je cherche une bonne bibliothèque open source pour scala pour les mathématiques et les statistiques. Espérons que quelque chose comme Apache Math ou Colt, mais implémenté dans Scala.
Est-ce que quelqu'un peut-il me montrer la bonne direction?
Oui, il y en a:
Le projet ScalaLab vise à fournir un environnement de programmation scientifique efficace pour la machine virtuelle Java. Le langage de script est basé sur le langage de programmation Scala amélioré avec des connaissances scientifiques de haut niveau). opérateurs et avec un environnement intégré qui fournit un style de travail Matlab-like.
Le code de script est extrêmement rapide, proche de Java (parfois plus lent, parfois plus rapide), et généralement plus rapide à partir de scripts Matlab .m équivalents!
Une bibliothèque d'algèbre linéaire numérique haute performance pour Scala, avec de riches opérateurs de type Matlab sur des vecteurs et des matrices; une bibliothèque de routines numériques; support pour le traçage.
FACTORIE est une boîte à outils pour la modélisation probabiliste déployable, implémentée comme une bibliothèque de logiciels dans Scala. Il fournit à ses utilisateurs un langage succinct pour créer des graphiques de facteurs relationnels , estimer des paramètres et effectuer des inférences.
par Twitter pour le traitement des graphiques:
Cassovary est conçu de A à Z pour gérer efficacement des graphiques avec des milliards d'arêtes. Il est livré avec des structures de données et des algorithmes de traversée communs. Une utilisation typique consiste à effectuer une exploration et une analyse de graphiques à grande échelle.
Sur Twitter, Cassovary constitue la couche inférieure d'une pile que nous utilisons pour alimenter bon nombre de nos fonctionnalités basées sur des graphiques, y compris "Qui suivre" et "Similaire à". Nous l'utilisons également pour la pertinence dans la recherche Twitter et les algorithmes qui déterminent que les utilisateurs des produits sponsorisés verront. Au fil du temps, nous espérons apporter plus de logique non propriétaire de certaines de ces fonctionnalités de produit dans Cassovary.
Bibliothèque d'algèbre abstraite de Twitter:
Le code est destiné à la construction de systèmes d'agrégation (via Scalding ou Storm). Il a été initialement développé dans le cadre de l'API Matrix de Scalding, où les matrices avaient des valeurs qui sont des éléments de monoïdes, de groupes ou d'anneaux. Par la suite, il était clair que le code avait une application plus large au sein de Scalding et sur d'autres projets au sein de Twitter.
! a un statut expérimental!
sb_probdsl offre un support de programmation probabiliste discret simple en utilisant le nouveau support de continuations délimitées de scala.
Une bibliothèque Markov Chain pour Scala
Les chaînes de Markov représentent des processus stochastiques où la distribution de probabilité de l'étape suivante dépend non trivialement de l'étape actuelle, mais ne dépend pas des étapes précédentes. Donnez à cette bibliothèque des données d'entraînement et elle générera de nouvelles données aléatoires qui lui ressemblent statistiquement.
Signal/Collect est un modèle et un cadre de programmation pour le traitement de graphiques à grande échelle. Le modèle est suffisamment expressif pour formuler de manière concise de nombreux algorithmes itérés et de flux de données sur des graphiques, tout en permettant au cadre de paralléliser le traitement de manière transparente.
Comprend des packages de statistiques et d'utilitaires. Contient des choses très basiques et bien connues, telles que des moyens std ...
Bien que ce ne soit pas une bibliothèque, cela pourrait vous aider beaucoup à gérer les probabilités.
Figaro est une bibliothèque Scala pour la programmation probabiliste. Vous pouvez trouver plus d'informations sur Figaro ici Référence Figaro
Figaro est disponible en téléchargement sur Figaro Github
L'auteur de cette bibliothèque est en train d'écrire un livre sur la programmation probabiliste utilisant Figaro. Voici le lien vers la page du livre: Livre de programmation probabiliste
Spire est une bibliothèque numérique pour Scala qui est destinée à être générique, rapide et précise.
En utilisant des fonctionnalités telles que la spécialisation, les macros, les classes de type et les implicits, Spire travaille dur pour défier les idées reçues sur les compromis de performances et de précision. Un objectif majeur est de permettre aux développeurs d'écrire du code numérique efficace sans avoir à "cuire" dans des représentations numériques particulières. Dans la plupart des cas, les implémentations génériques utilisant les classes de type spécialisées de Spire fonctionnent de manière identique aux implémentations directes correspondantes.