[
https://issues.apache.org/jira/browse/FLINK-1737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14740443#comment-14740443
]
ASF GitHub Bot commented on FLINK-1737:
---------------------------------------
Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/1078#discussion_r39253106
--- Diff:
flink-staging/flink-ml/src/main/scala/org/apache/flink/ml/math/DenseVector.scala
---
@@ -102,6 +102,38 @@ case class DenseVector(
}
}
+ /** Returns the outer product (a.k.a. Kronecker product) of `this`
+ * with `other`. The result will given in
[[org.apache.flink.ml.math.SparseMatrix]]
+ * representation if `other` is sparse and as
[[org.apache.flink.ml.math.DenseMatrix]] otherwise.
+ *
+ * @param other a Vector
+ * @return the [[org.apache.flink.ml.math.Matrix]] which equals the
outer product of `this`
+ * with `other.`
+ */
+ override def outer(other: Vector): Matrix = {
+ val numRows = size
+ val numCols = other.size
+
+ other match {
+ case SparseVector(size, indices, data_) =>
+ val entries: Array[(Int, Int, Double)] = for {
+ i <- (0 until numRows).toArray
+ j <- indices
+ value = this(i) * other(j)
--- End diff --
It might make sense to work directly on the `data` array here, because
every `other(j)` call entails a binary search operation. If you zip `data` with
`indices`, then you should have all information necessary to access `this(i)`
and to have the value for `other(j)`.
> Add statistical whitening transformation to machine learning library
> --------------------------------------------------------------------
>
> Key: FLINK-1737
> URL: https://issues.apache.org/jira/browse/FLINK-1737
> Project: Flink
> Issue Type: New Feature
> Components: Machine Learning Library
> Reporter: Till Rohrmann
> Assignee: Daniel Pape
> Labels: ML, Starter
>
> The statistical whitening transformation [1] is a preprocessing step for
> different ML algorithms. It decorrelates the individual dimensions and sets
> its variance to 1.
> Statistical whitening should be implemented as a {{Transfomer}}.
> Resources:
> [1] [http://en.wikipedia.org/wiki/Whitening_transformation]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)