Scala有一个很好的数学/统计库吗?

dav*_*ave 87 math statistics scala

我正在为数学和统计学的scala寻找一个好的开源库.希望像Apache Math或Colt这样的东西,但在Scala中实现.

谁能指出我正确的方向?

om-*_*nom 144

是的有一些:

Scalalab

ScalaLab项目旨在为Java虚拟机提供高效的科学编程环境.脚本语言基于Scala编程语言,增强了高级科学操作符和集成环境,提供类似Matlab的工作方式.

脚本代码非常快,接近Java(有时更慢,有时更快),并且通常比同等的Matlab .m脚本更快!

斯卡拉拉现在已被 Breeze取代

用于Scala的高性能数字线性代数库,在向量和矩阵上具有丰富的类Matlab运算符; 数字例程库; 支持绘图.

Factorie

FACTORIE是可部署概率建模的工具包,在Scala中作为软件库实现.它为用户提供了一种简洁的语言,用于创建关系因子图,估计参数和执行推理.

Cassovary

通过twitter进行图形处理:

Cassovary从头开始设计,可高效处理数十亿边缘的图形.它带有一些常见的节点和图形数据结构和遍历算法.典型的用法是进行大规模图挖掘和分析.

在Twitter上,Cassovary形成了一个堆栈的底层,我们用它来支持我们的许多基于图形的功能,包括"Who to Follow"和"Similar to."我们也将它用于Twitter搜索中的相关性以及确定的算法推荐产品的用户会看到.随着时间的推移,我们希望将其中一些产品功能的更多非专有逻辑带入Cassovary.

Algebird

来自twitter的抽象代数库:

代码的目标是构建聚合系统(通过Scalding或Storm).它最初是作为Scalding的Matrix API的一部分开发的,其中Matrices的值是Monoids,Groups或Rings的元素.随后,很明显代码在Scalding和Twitter内的其他项目中有更广泛的应用.

scala_prob

!有实验状态!

sb_probdsl使用scala的新分隔延续支持提供简单的离散概率编程支持.

Malakov

Scala的马尔可夫链库

马尔可夫链表示随机过程,其中下一步的概率分布非常依赖于当前步骤,但不依赖于先前的步骤.为此库提供一些训练数据,它将生成统计上类似于它的新随机数据.

信号收集

Signal/Collect是用于大规模图形处理的编程模型和框架.该模型具有足够的表现力,可以在图形上简明地制定许多迭代和数据流算法,同时允许框架透明地并行化处理.

Grizzled.math

包括统计和实用程序包.包含非常基本和众所周知的东西,例如手段std ......

概率Monad:

虽然它不是库,它可以帮助你处理概率.

  • 还有[Saddle](http://saddle.github.com/):*Saddle是Scala的数据操作库,提供阵列支持,索引,一维和二维数据结构,明智地专注于JVM原语,以避免拳击和拆箱的开销.* (13认同)
  • 你可以看一下Scalala和Scalalab与Python的性能比较[这里](http://mwongstyle.com/wordpress/?p=60) (4认同)
  • om-nom-nom,你应该把马鞍提到一个答案.+1 (3认同)

Rav*_*avi 9

Figaro是一个用于概率编程的Scala库.你可以在费加罗参考找到更多关于费加罗的信息

Figaro可从Figaro Github下载

该图书馆的作者目前正在使用费加罗撰写一本关于概率编程的书.这是书页的链接:概率编程书