问题标签 [scala-breeze]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
104 浏览

scala - scala.MatchError 同时取消 DenseVector 的 json 字符串

我尝试对 Breeze ( https://github.com/scalanlp/breeze ) DenseVector 类 ( http://www.scalanlp.org/api/breeze/#breeze.linalg.DenseVector ) 的对象进行酸洗和解酸。不需要添加任何自定义pickler。酸洗成功时,解酸会引发 scala.MatchError。代码如下所示。任何调试此问题的帮助/指针表示赞赏!有趣的是,我能够毫无问题地腌制/取消腌制 DenseMatrix。

输出是:

0 投票
2 回答
2650 浏览

apache-spark - Spark并行处理分组数据

最初,我有很多数据。但是使用 spark-SQL 尤其是 groupBy 可以将其缩减到可管理的大小。(适合单个节点的 RAM)

如何在所有组(分布在我的节点之间)上执行功能(并行)?

如何确保将单个组的数据收集到单个节点?例如,我可能希望local matrix用于计算,但不想遇到有关数据局部性的错误。

0 投票
1 回答
46 浏览

scala - 链式索引 Scala 编译器错误的解决方法?

ND4S 和 Breeze 中的链式索引会产生 Scala 编译器错误:

前两个工作,但第三个产生:

方法 apply 的参数不足:(隐式 ev:org.nd4s.NDArrayEvidence[org.nd4j.linalg.api.ndarray.INDArray,B],隐式 ev2:scala.reflect.Manifest[B])org.nd4j.linalg。 RichINDArray 类中的 api.ndarray.INDArray。

我尝试使用(0, 0)而不是,(0)因为它仍然是 2d,但这没关系。以及许多额外括号的变体。

这是 Scala 解析器认为它是其他构造还是 ND4S 中的错误?是否有一些可以使链接工作的解决方法语法?

编辑:

微风下:

a 和 b 工作,但 c 产生此编译器错误:

类型不匹配; 发现:需要 Int(0):breeze.linalg.support.CanSlice2[breeze.linalg.DenseMatrix[Int],Int,collection.immutable.::.type,?]

也许这是解析为 curried 函数调用,或者宏以一种在这里不起作用的方式扩展。虽然我猜一个人永远不需要链接索引,因为m(0, 0)上面的工作和任何索引都可以折叠,对于在这些情况下欺骗 Scala 的一般情况是否有一些解决方案?

此外,链接适用于多维数组:

0 投票
1 回答
241 浏览

scala - scala 2.10 编译器中 scala.language.dynamics 错误的解决方法

我一直在尝试为我想从我的项目中引用的开源项目生成 SBT 构建,但我遇到了似乎是编译器错误的问题。

以下代码在 eclipse/scala-ide 中按预期编译和运行,但 scala 2.10.6 编译器无法消化它:

这是我的 build.sbt:

当我指定 scalaVersion := 2.10.6 时,我收到以下编译错误:

使用 scalaVersion := 2.11.8,没有问题,尽管我需要交叉编译,所以这不是解决方法。

另一个线索是我可以通过更改这行代码来隐藏问题:

对此:

当我直接用 scalac 2.10.6 编译时,我也看到了这个问题。

作为一种解决方法,我可以重构项目以使用比单个字符更长的字段名称,尽管因为它不是我的项目,我在某种程度上受限于我可以接受的解决方法。此外,它是一个breeze.linalg 项目,禁止使用单个字符矩阵和向量名称将是一个严重的限制。

花了几个小时将问题归结为来自一个更大项目的代码片段,我不希望对这个开源库的 scala 2.10 版本施加限制。由于此错误似乎已在 scala 2.11 中修复,我假设已决定不将该修复程序向后移植到 2.10。

我更改了标题以反映解决方法的存在(更长的字段名称)。

0 投票
1 回答
202 浏览

scala-breeze - 从 DenseMatrix 中删除一系列行的最有效方法?

我想M+1通过NDenseMatrix(DM_a下)删除行,以生成另一个 DenseMatrix(DM_b)。像这样的东西:

用这样的切片来做到这一点是最好的(最有效的):val DM_b = DM_a(0 to M, ::)还是我应该映射padRight到的每一列DM_a

0 投票
1 回答
50 浏览

scala-breeze - 使用具有复杂数据类型的 Scala 微风

在 Breeze 中构建由具有不同数据类型的对象组成的密集矩阵的最佳方法是什么?

例如如何

映射到密集矩阵?

Breeze中是否有相当于 Numpy 的dtypes

最终,我尝试处理数百万条记录,并希望根据X类中a1列上的切片对b2、c3 和 d4列执行算术函数。

0 投票
1 回答
191 浏览

scala - 微风中的矩阵和标量运算

Adendo:这似乎是一个 scala IDE 错误,因为使用命令行 sbt 可以顺利编译和运行。我会结束这个问题,但 StackOverflow 不允许

我无法在微风中对矩阵求和或乘以标量
如果我尝试:

我收到两个错误:

如果我尝试 * 、 :* 、 *: 、 :+ 和 +: 会发生同样的事情,但错误略有不同。
如果它是 DenseVector 而不是 DenseMatrix 并且我使用 :+ ,则一切正常。
如果我在 scala IDE 工作表中尝试它,它会产生错误,但会正确打印结果矩阵。我正在使用 Scala IDE 4.4.1 ,微风 0.12 ,scala 2.11.8

0 投票
1 回答
698 浏览

scala - 使用线性代数和 Scala 微风的简单神经网络

下面是我对具有 1 个输入层、两个隐藏层和 1 个输出层的神经网络的实现:

这个网络的输出是:

我正在使用单个训练示例 101 和输出值 111。给出的预测值1,0,11.9,1.9,1.9预测值应该是 1,1,1 的时间。

我认为我如何计算带有偏差的 sigmoid 是不正确的,是否应该在 layer 的 sigmoid 计算之后添加偏差 +1 值,换句话说,使用 { x => sigmoid(x+1) }而不是 { x => 1 + sigmoid(x) }

0 投票
1 回答
195 浏览

scala - 在具有 scalaNLP 微风的复杂矩阵上使用 kronecker 积

我有一段代码:

它的工作方式正是我想要的。问题是我需要复杂的值而不是双精度值。导入breeze.math.Complex 后,我将代码更改为:

然而,这会导致错误:

这是一个错误还是我忘记做某事?

0 投票
2 回答
377 浏览

scala - scala for/yield 类的实例

我正在为我在微风的有关分布的文档中看到的一个示例而摸不着头脑。

创建 Rand 实例后,它们表明您可以执行以下操作:

现在,这很酷,我可以得到一个 Rand 对象,Double而不是Int在调用samples方法时得到。另一个例子可能是:

问题是,这里发生了什么?Rand[T]不是一个集合,到目前为止我看到的所有 for/yield 示例都适用于集合。scala 文档没有提及太多,我发现的唯一一件事就是在这里翻译 for-comprehensions 。这里的基本规则是什么?这还能如何使用(不一定是轻而易举的相关答案)