Scala 有没有好的数学/统计库? [关闭]

Posted

技术标签:

【中文标题】Scala 有没有好的数学/统计库? [关闭]【英文标题】:Is there a good math/stats library for Scala? [closed] 【发布时间】:2012-02-04 08:45:25 【问题描述】:

我正在为数学和统计寻找一个好的 scala 开源库。希望类似于 Apache Math 或 Colt,但在 Scala 中实现。

谁能指出我正确的方向?

【问题讨论】:

这可能有助于解释为什么您要使用 Scala 实现的库,而不是仅可从 Scala 使用的库。 其实我开始使用commons.apache.org/proper/commons-math,它很容易使用并且在Scala中运行良好。 【参考方案1】:

是的,有一些:

Scalalab

ScalaLab 项目旨在提供高效的科学 Java 虚拟机的编程环境。脚本 语言基于 Scala 编程语言,以高 水平的科学操作员和一个集成的环境, 提供类似 Matlab 的工作方式。

脚本代码 速度极快,接近 Java(有时较慢,有时较快), 并且通常比等效的 Matlab .m 脚本更快!

Scalala 现在被 Breeze 取代

Scala 的高性能数值线性代数库,具有丰富的 向量和矩阵上的类似 Matlab 的运算符;数值库 例行公事;支持绘图。

Factorie

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

Cassovary

通过 twitter 进行图形处理:

Cassovary 的设计初衷就是高效处理图表 有数十亿条边。它带有一些常见的节点和图形数据 结构和遍历算法。一个典型的用法是做 大规模图挖掘和分析。

在 Twitter,Cassovary 构成了我们使用的堆栈的底层 为我们的许多基于图表的功能提供支持,包括“关注谁”和 “相似。”我们还将它用于 Twitter 搜索和 确定用户将看到哪些推广产品的算法。超过 时间,我们希望从其中的一些中带来更多的非专有逻辑 产品功能到 Cassovary 中。

Algebird

来自 twitter 的抽象代数库:

代码旨在构建聚合系统(通过 Scalding 或 风暴)。它最初是作为 Scalding 的 Matrix API 的一部分开发的, 其中矩阵的值是 Monoids、Groups 或 戒指。随后,很明显该代码具有更广泛的 在 Scalding 和 Twitter 中的其他项目上应用。

scala_prob

!有实验状态!

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

Malakov

Scala 的马尔可夫链库

马尔可夫链表示随机过程,其中概率 下一步的分配不平凡地取决于当前 步骤,但不依赖于前面的步骤。给这个图书馆一些 训练数据,它将生成新的随机数据 很像。

signal-collect

Signal/Collect 是一个大规模的编程模型和框架 图处理。该模型的表现力足以简明扼要 在图上制定许多迭代和数据流算法,同时 允许框架透明地并行处理。

Grizzled.math

包括统计和实用程序包。包含非常基本和众所周知的 事物,例如意味着 std...

Probability Monad:

虽然它不是图书馆,但它可以帮助您处理很多事情 概率。

【讨论】:

您可以查看 Scalala 和 Scalalab 与 Python 的性能比较here 还有Saddle:Saddle 是一个用于 Scala 的数据操作库,它提供数组支持、索引、一维和二维数据结构,这些数据结构明智地专门针对 JVM 原语避免装箱和拆箱的开销。 om-nom-nom,你应该提高马鞍的答案。 +1 @SimeonFitch 我正在等待一些空闲时间,仔细看看马鞍,也许写一些比上面摘录更多的东西。 @om-nom-nom : 你的链接失效了。【参考方案2】:

Figaro 是一个用于概率编程的 Scala 库。你可以在这里找到更多关于 Figaro 的信息Figaro Reference

Figaro 可从Figaro Github下载

这个库的作者目前正在写一本关于使用 Figaro 进行概率编程的书。这是书页的链接:Probabilistic Programming Book

【讨论】:

【参考方案3】:

Spire

Spire 是一个用于 Scala 的数值库,旨在实现通用性, 快速、准确。

使用诸如特化、宏、类型类和 隐含的,Spire 努力挑战周围的传统智慧 性能和精度的权衡。一个主要目标是允许 开发人员无需“介入”即可编写高效的数字代码 特定的数字表示。在大多数情况下,通用 使用 Spire 的专用类型类的实现执行 与相应的直接实现相同。

【讨论】:

以上是关于Scala 有没有好的数学/统计库? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

大数据时代之一,Spark或为Big data主流平台,什么是Scala函数式编程?计算机诞生之前,数学与统计学家们是如何计算?

分享 | scala - figaro概率编程入门

Subversion 存储库统计信息,不是 StatSVN? [关闭]

是否有 PHP 的统计库? [关闭]

数据的描述性统计

课时练第七单元《折线统计图》(含答案)人教版数学五年级下册