Scalaに適した数学/統計ライブラリはありますか?[閉まっている]


87

数学と統計のためのscala用の優れたオープンソースライブラリを探しています。うまくいけば、Apache MathやColtのようなものですが、Scalaで実装されています。

誰かが私を正しい方向に向けることができますか?


4
単にScalaから使用できるライブラリではなく、なぜScalaで実装されたライブラリを求めているのかを説明するのに役立つかもしれません。
レトロネーム2012年

実際、私はcommons.apache.org/proper/commons-mathを使い始めましたが、Scalaでは使いやすく、うまく機能します。
tom10271 2018

回答:


145

はい。いくつかあります:

Scalalab

ScalaLabプロジェクトは、Java仮想マシンに効率的な科学プログラミング環境を提供することを目的としています。スクリプト言語は、Scalaプログラミング言語に基づいており、高度な科学演算子と、Matlabのような作業スタイルを提供する統合環境で強化されています。

スクリプトコードは非常に高速で、Javaに近く(時には遅く、時には速く)、通常は同等のMatlab .mスクリプトより高速です。

Scalala Breezeに置き換えられました

Scala用の高性能数値線形代数ライブラリー。ベクトルと行列にMatlabに似た演算子が豊富に用意されています。数値ルーチンのライブラリ; プロットのサポート。

工場

FACTORIEは、Scalaのソフトウェアライブラリとして実装された、展開可能な確率的モデリングのためのツールキットです。関係因子グラフの作成、パラメーターの推定、推論の実行のための簡潔な言語をユーザーに提供します。

キャソバリー

Twitterによるグラフ処理:

Cassovaryは、何十億ものエッジを持つグラフを効率的に処理できるように、ゼロから設計されています。いくつかの一般的なノードとグラフのデータ構造とトラバーサルアルゴリズムが付属しています。典型的な使用法は、大規模なグラフのマイニングと分析を行うことです。

Twitterでは、Cassovaryはスタックの最下層を形成し、「フォローする人」や「類似する人」など、グラフベースの機能の多くを強化するために使用します。また、Twitter検索との関連性や、ユーザーが表示するプロモート製品を決定するアルゴリズムにも使用されます。今後、これらの製品機能の一部から独自のロジックをより多くCassovaryに導入したいと考えています。

アルジバード

ツイッターの抽象代数ライブラリ:

コードは、(ScaldingまたはStormを介して)集約システムの構築を対象としています。もともとはScaldingのMatrix APIの一部として開発されたもので、マトリックスにはモノイド、グループ、またはリングの要素である値がありました。その後、コードがScalding内やTwitter内の他のプロジェクトでより幅広いアプリケーションを持つことは明らかでした。

scala_prob

!実験的なステータスがあります!

sb_probdslは、scalaの新しい区切られた継続サポートを使用して、単純な離散確率プログラミングサポートを提供します。

マラコフ

Scala用のマルコフ連鎖ライブラリー

マルコフ連鎖は、次のステップの確率分布が現在のステップに自明ではないが前のステップには依存しない確率過程を表します。このライブラリにいくつかのトレーニングデータを与えると、統計的にそれに似た新しいランダムデータが生成されます。

信号収集

Signal / Collectは、大規模なグラフ処理のためのプログラミングモデルおよびフレームワークです。このモデルは、フレームワークが処理を透過的に並列化できるようにしながら、グラフ上で多くの反復アルゴリズムとデータフローアルゴリズムを簡潔に定式化するのに十分な表現力を備えています。

Grizzled.math

statおよびユーティリティパッケージが含まれます。標準的な手段などの非常に基本的でよく知られているものが含まれています...

確率モナド:

ライブラリではありませんが、確率を処理する上で非常に役立ちます。


4
あなたは、Pythonの対ScalalaとScalalabの性能比較を見ることができ、ここで
OM-NOM-NOM

13
また、Saddleもあります。SaddleはScalaのデータ操作ライブラリであり、JVMプリミティブに特別に特化した配列付き、インデックス付き、1次元および2次元のデータ構造を提供して、ボックス化とボックス化解除のオーバーヘッドを回避します。
om-nom-nom 2013

3
om-nom-nom、あなたは答えにサドルを上げる必要があります。+1
metasim 2013年

1
@SimeonFitchサドルを詳しく見て、おそらく上記の抜粋以外の何かを書くために、少し自由な時間を待っています。
om-nom-nom

1
@ om-nom-nom:リンクが機能しなくなりました。
Pravesh Jain 14

9

Figaroは、確率的プログラミングのためのScalaライブラリーです。フィガロの詳細については、フィガロリファレンスをご覧ください。

フィガロはフィガロGithubからダウンロードできます。

このライブラリの著者は現在、フィガロを使用した確率的プログラミングに関する本を書いています。本ページへのリンクは次のとおりです。確率的プログラミング本


1

尖塔

SpireはScalaの数値ライブラリーであり、汎用的、高速、かつ正確なものにすることを目的としています。

Spireは、特殊化、マクロ、型クラス、暗黙などの機能を使用して、パフォーマンスと精度のトレードオフに関する従来の知恵を打ち破る努力をしています。主な目標は、開発者が特定の数値表現を「焼き付ける」ことなく効率的な数値コードを記述できるようにすることです。ほとんどの場合、Spireの特殊な型クラスを使用する一般的な実装は、対応する直接実装と同じように実行されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.