我正在寻找一款适用于数学和统计的良好Scala开源库。希望能够像Apache Math或Colt一样,但是是用Scala实现的。
有人可以指导我吗?
我正在寻找一款适用于数学和统计的良好Scala开源库。希望能够像Apache Math或Colt一样,但是是用Scala实现的。
有人可以指导我吗?
是的,有一些:
ScalaLab项目旨在为Java虚拟机提供高效的科学编程环境。脚本语言基于Scala编程语言,增强了高级科学运算符,并提供了一个集成环境,提供类似Matlab的工作风格。
脚本代码非常快,接近Java(有时比Java慢,有时比Java快),而且通常比等效的Matlab .m脚本更快!
Breeze是Scala的高性能数值线性代数库,具有丰富的向量和矩阵类Matlab操作符;具有大量数值例程和绘图支持。
FACTORIE是一个部署概率建模的工具包,实现为Scala软件库。它为用户提供了一种简洁的语言来创建关系型因子图,估计参数并执行推断。
由Twitter用于图处理:
Cassovary是从头开始设计的,旨在高效处理数十亿个边缘的图形。它配备了一些常见的节点和图形数据结构和遍历算法。一个典型的用途是进行大规模图形挖掘和分析。
在Twitter,Cassovary形成我们用于支持许多基于图形的功能(包括“Who to Follow”和“Similar to”)的堆栈的底层。我们还将其用于Twitter搜索中的相关性以及确定用户将看到哪些推广产品的算法。超过
时间上,我们希望能够从一些产品特性中带来更多的非专有逻辑到Cassovary中。Algebird
Twitter的抽象代数库:
该代码旨在构建聚合系统(通过Scalding或Storm)。最初作为Scalding的Matrix API的一部分开发,其中矩阵的值是幺半群、群或环的元素。后来明确这段代码在Scalding内部和Twitter其他项目中具有更广泛的应用。
scala_prob
!拥有实验性状态!
sb_probdsl提供了使用Scala的新分界连续支持的简单离散概率编程支持。
Malakov
Scala的马尔可夫链库。
马尔可夫链表示随机过程,其中下一步的概率分布在非平凡地取决于当前步骤,但不依赖于先前的步骤。将训练数据提供给此库,它将生成新的随机数据,统计上类似于原始数据。
signal-collect
Signal/Collect是用于大规模图处理的编程模型和框架。该模型足够表达许多迭代和数据流算法,同时允许框架透明地并行处理。
Grizzled.math
包括stat和utility包。包含非常基本且知名的事物,如均值、标准差等......
概率单子:
它虽然不是一个库,但可以帮助你处理概率问题。
Figaro是一款用于概率编程的Scala库。您可以在这里找到有关Figaro的更多信息:Figaro参考资料
Figaro可以从Figaro Github下载。
该库的作者正在使用Figaro编写一本有关概率编程的书籍。以下是书籍页面链接:概率编程书籍
Spire是Scala的数字库,旨在实现通用、快速和精确。
利用专业化、宏、类型类和隐式等特性,Spire致力于打破传统智慧关于性能和精度权衡的局限。一个主要目标是允许开发人员编写高效的数字代码,而无需“烘烤”特定的数字表示。在大多数情况下,使用Spire的专门类型类的通用实现与相应的直接实现表现完全一致。