[
https://issues.apache.org/jira/browse/SPARK-7194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sean Owen updated SPARK-7194:
-----------------------------
Component/s: MLlib
Priority: Minor (was: Major)
Affects Version/s: 1.3.1
Go ahead and set priority and component, and maybe affects version for
improvements.
You can write {{Vectors.dense(array).toSparse}} - that may be simpler still and
doesn't need a new method?
Or this could also be a little simpler with array.zipWithIndex.filter(_._1 !=
0.0).map(_.swap)
> Vectors factors method for sparse vectors should accept the output of
> zipWithIndex
> ----------------------------------------------------------------------------------
>
> Key: SPARK-7194
> URL: https://issues.apache.org/jira/browse/SPARK-7194
> Project: Spark
> Issue Type: Improvement
> Components: MLlib
> Affects Versions: 1.3.1
> Reporter: Juliet Hougland
> Priority: Minor
>
> Let's say we have an RDD of Array[Double] where zero values are explictly
> recorded. Ie (0.0, 0.0, 3.2, 0.0...) If we want to transform this into an RDD
> of sparse vectors, we currently have to:
> arr_doubles.map{ array =>
> val indexElem: Seq[(Int, Double)] = array.zipWithIndex.filter(tuple =>
> tuple._1 != 0.0).map(tuple => (tuple._2, tuple._1))
> Vectors.sparse(arrray.length, indexElem)
> }
> Notice that there is a map step at the end to switch the order of the index
> and the element value after .zipWithIndex. There should be a factory method
> on the Vectors class that allows you to avoid this flipping of tuple elements
> when using zipWithIndex.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]