Я ищу хорошую библиотеку с открытым исходным кодом для scala для математики и статистики. Надеюсь, что-то вроде Apache Math или Colt, но реализовано на Scala.
Может кто-то указать мне верное направление?
Я ищу хорошую библиотеку с открытым исходным кодом для scala для математики и статистики. Надеюсь, что-то вроде Apache Math или Colt, но реализовано на Scala.
Может кто-то указать мне верное направление?
Ответы:
Да, есть:
Проект ScalaLab направлен на создание эффективной среды научного программирования для виртуальной машины Java. Язык сценариев основан на языке программирования Scala, дополненном научными операторами высокого уровня и интегрированной средой, которая обеспечивает стиль работы, подобный Matlab.
Код сценария чрезвычайно быстр, близок к Java (иногда медленнее, иногда быстрее) и обычно быстрее, чем эквивалентные сценарии Matlab .m!
Высокопроизводительная библиотека числовой линейной алгебры для Scala с богатыми операторами, подобными Matlab, для векторов и матриц; библиотека числовых программ; поддержка для построения графиков.
FACTORIE - это набор инструментов для развертываемого вероятностного моделирования, реализованный в виде программной библиотеки на Scala. Он предоставляет своим пользователям лаконичный язык для создания графов реляционных факторов , оценки параметров и выполнения логических выводов.
от twitter для обработки графиков:
Cassovary разработан с нуля для эффективной работы с графами с миллиардами ребер. Он поставляется с некоторыми общими структурами данных узлов и графов и алгоритмами обхода. Типичное использование - выполнение крупномасштабного интеллектуального анализа и анализа графов.
В Twitter Cassovary формирует нижний уровень стека, который мы используем для работы многих наших графических функций, включая «Кто следовать» и «Подобно». Мы также используем его для релевантности поиска в Twitter и алгоритмов, определяющих, какие продвигаемые продукты увидят пользователи. Со временем мы надеемся привнести в Cassovary больше непатентованной логики из некоторых функций продукта.
Библиотека абстрактной алгебры из твиттера:
Код предназначен для построения систем агрегирования (через Scalding или Storm). Первоначально он был разработан как часть Scalding Matrix API, где у матриц были значения, которые являются элементами моноидов, групп или колец. Впоследствии стало ясно, что код имеет более широкое применение в Scalding и других проектах в Twitter.
! имеет статус экспериментального!
sb_probdsl предлагает простую поддержку дискретного вероятностного программирования с использованием новой поддержки продолжений с разделителями в scala.
Библиотека цепей Маркова для Scala
Цепи Маркова представляют собой случайные процессы, в которых распределение вероятностей следующего шага нетривиально зависит от текущего шага, но не зависит от предыдущих шагов. Дайте этой библиотеке некоторые обучающие данные, и она сгенерирует новые случайные данные, которые статистически напоминают их.
Signal / Collect - это модель программирования и фреймворк для обработки крупномасштабных графов. Модель достаточно выразительна, чтобы лаконично сформулировать множество повторяющихся алгоритмов и алгоритмов потока данных на графах, в то же время позволяя структуре прозрачно распараллеливать обработку.
Включает пакеты статистики и утилит. Содержит очень простые и хорошо известные вещи, такие как средства std ...
Хотя это не библиотека, но она может очень помочь вам с расчетами вероятностей.
Figaro - это библиотека Scala для вероятностного программирования. Вы можете найти больше информации о Фигаро здесь Ссылка на Фигаро
Фигаро доступен для загрузки с Фигаро Github
Автор этой библиотеки в настоящее время пишет книгу по вероятностному программированию с использованием Figaro. Вот ссылка на страницу книги: Книга по вероятностному программированию
Spire - это цифровая библиотека для Scala, которая должна быть универсальной, быстрой и точной.
Используя такие функции, как специализации, макросы, классы типов и implicits, Spire упорно трудится, чтобы бросить вызов традиционной мудрости вокруг производительности и точности компромиссов. Основная цель - позволить разработчикам писать эффективный числовой код без необходимости «запекать» конкретные числовые представления. В большинстве случаев общие реализации, использующие классы специализированных типов Spire, работают идентично соответствующим прямым реализациям.