Чи існує хороша бібліотека математики / статистики для Scala? [зачинено]


88

Я шукаю хорошу бібліотеку з відкритим кодом для шкали математики та статистики. Сподіваємось, щось на зразок Apache Math або Colt, але реалізовано в Scala.

Хто-небудь може вказати мені в правильному напрямку?


4
Це може допомогти пояснити, чому ви переслідуєте бібліотеку, впроваджену в Scala, а не бібліотеку, яка просто використовується у Scala.
ретронім

Насправді я почав використовувати commons.apache.org/proper/commons-math, і він простий у використанні і чудово працює в Scala.
tom10271

Відповіді:


147

Так, є такі:

Скалалаб

Проект ScalaLab має на меті забезпечити ефективне наукове середовище програмування для віртуальної машини Java. Мова сценаріїв базується на мові програмування Scala, вдосконаленій науковими операторами високого рівня та інтегрованим середовищем, що забезпечує стиль роботи, схожий на Matlab.

Код сценаріїв надзвичайно швидкий, близький до Java (іноді повільніший, іноді швидший) і, як правило, швидший за допомогою еквівалентних скриптів Matlab .m!

Скалалу тепер замінює Бриз

Високопродуктивна числова бібліотека лінійної алгебри для Scala, з багатими Matlab-подібними операторами на векторах та матрицях; бібліотека числових процедур; підтримка побудови графіків.

Заводи

FACTORIE - це набір інструментів для розгортання ймовірнісного моделювання, реалізований як бібліотека програмного забезпечення в Scala. Він надає своїм користувачам стислий мову для створення графіків реляційних коефіцієнтів , оцінки параметрів та виконання висновків.

Касоварія

за допомогою Twitter для обробки графіків:

Кассоварія розроблена з нуля, щоб ефективно обробляти графіки з мільярдами країв. Він поставляється з деякими загальними структурами даних вузлів та графіків та алгоритмами обходу. Типовим використанням є великомасштабний аналіз та аналіз графіків.

У Twitter Cassovary формує нижній шар стека, який ми використовуємо для забезпечення багатьох наших графічних функцій, включаючи "Кого слідкувати" та "Подібно до". Ми також використовуємо його для релевантності у пошуку в Twitter та алгоритмах, що визначають, які спонсоровані продукти побачать користувачі. З часом ми сподіваємось внести в Cassovary більше власних логік деяких із цих характеристик продукту.

Algebird

Абстрактна бібліотека алгебри від Twitter:

Код орієнтований на побудову систем агрегації (через Скальдінг або Шторм). Спочатку він був розроблений як частина API матриці Scalding, де Матриці мали значення, які є елементами Monoids, Groups або Rings. Згодом було зрозуміло, що код мав ширше застосування в рамках Скальдингу та в інших проектах у Twitter.

scala_prob

! має експериментальний статус!

sb_probdsl пропонує просту дискретну імовірнісну підтримку програмування, використовуючи нову підтримку Scala з розмеженими продовженнями.

Малаков

Бібліотека Маркова для мережі Scala

Ланцюги Маркова представляють стохастичні процеси, де розподіл ймовірностей наступного кроку нетривіально залежить від поточного кроку, але не залежить від попередніх кроків. Надайте цій бібліотеці деякі навчальні дані, і вона буде генерувати нові випадкові дані, які статистично нагадують її.

сигнал-збір

Signal / Collect - це модель програмування та структура для широкомасштабної обробки графіків. Модель достатньо виразна, щоб стисло сформулювати на графіках багато повторених алгоритмів і потоків даних, дозволяючи одночасно структурі прозоро розпаралелювати обробку.

Срібла математика

Включає статистичні та утилітні пакети. Містить дуже основні та добре відомі речі, такі як засоби std ...

Імовірність монади:

Хоча це не бібліотека, вона може вам дуже допомогти у вирішенні ймовірностей.


4
Ви можете подивитися порівняння продуктивності Scalala та Scalalab vs Python тут
om-nom-nom

15
Існує також Saddle : Saddle - це бібліотека для обробки даних для Scala, яка забезпечує підтримку масивів, індексовану одно- і двовимірні структури даних, які розумно спеціалізуються на примітивах JVM, щоб уникнути накладних витрат на розпакування та розпакування.
om-nom-nom

3
ом-ном-ном, вам слід підняти Сідла до відповіді. +1
metasim

1
@SimeonFitch Я чекаю трохи вільного часу, щоб уважніше розглянути сідло і, можливо, написати щось більше, ніж вище уривок.
ом-ном-ном

1
@ om-nom-nom: Ваше посилання більше не працює.
Pravesh Jain

9

Figaro - це бібліотека Scala для імовірнісного програмування. Ви можете знайти більше інформації про Figaro тут Figaro Reference

Figaro можна завантажити з Figaro Github

Наразі автор цієї бібліотеки пише книгу з імовірнісного програмування за допомогою Figaro. Ось посилання на сторінку книги: Книга імовірнісного програмування


1

Шпиль

Spire - це числова бібліотека для Scala, яка призначена бути загальною, швидкою та точною.

Використовуючи такі функції, як спеціалізація, макроси, класи типів та наслідки, Spire докладає всіх зусиль, щоб кинути виклик загальноприйнятій думці щодо ефективності та точних компромісів. Основна мета полягає в тому, щоб дозволити розробникам писати ефективний числовий код без необхідності "випікання" певних числових подань. У більшості випадків загальні реалізації з використанням спеціалізованих класів типу Spire виконують однаково з відповідними прямими реалізаціями.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.