0

我正在使用 MLeap 在 Java 程序中运行 Pyspark 逻辑回归模型。一旦我运行管道,我就可以得到一个DefaultLeapFrame包含一行的对象Stream(Row(1.3,12,3.6,DenseTensor([D@538613b3,List(2)),1.0), ?)

但我不确定如何实际检查 DenseTensor 对象。当我getTensor(3)在这一行上使用时,我得到一个对象。我不熟悉 Scala,但这似乎就是与之交互的方式。在 Java 中,如何获取此 DenseVector 中的值?

这大致是我在做什么。我猜想使用 Object 不适合这种类型。. .

DefaultLeapFrame df = leapFrameSupport.select(frame2, Arrays.asList("feat1", "feat2", "feat3", "probability", "prediction"));
Tensor<Object> tensor = df.dataset().head().getTensor(3);

谢谢

4

1 回答 1

0

因此,Java DSL 的 MLeap 文档不是那么好,但我能够查看一些单元测试(链接),这些测试指出我使用正确的东西。如果其他人有兴趣,这就是我所做的。

DefaultLeapFrame df = leapFrameSupport.select(frame, Arrays.asList("feat1", "feat2", "feat3", "probability", "prediction"));
TensorSupport tensorSupport = new TensorSupport();
List<Double> tensor_vals = tensorSupport.toArray(df.dataset().head().getTensor(3));
于 2020-06-06T15:37:30.120 回答