You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Yanbo Liang (JIRA)" <ji...@apache.org> on 2015/07/12 10:20:06 UTC
[jira] [Comment Edited] (SPARK-9003) Add map/update function to
MLlib/Vector
[ https://issues.apache.org/jira/browse/SPARK-9003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14623704#comment-14623704 ]
Yanbo Liang edited comment on SPARK-9003 at 7/12/15 8:19 AM:
-------------------------------------------------------------
Yes, I can provide an example which may be benefit of these function.
For example:
val originalPrediction = Vectors.dense(Array(1, 2, 3))
val expected = Vectors.dense(Array(10, 20, 30))
In some cases, we can use "~==" to compare two Vector/Matrix which is defined in org.apache.spark.mllib.util.TestingUtils.
So currently we can only code as following:
val prediction = Vectors.dense(originalPrediction.toArray.map(x => x*10))
assert(prediction ~== expected absTol 0.01, "prediction error")
If we support map/update for Vector, we can code as:
assert(originalPrediction.map(x => x*10) ~== expected absTol 0.01, "prediction error")
was (Author: yanboliang):
Yes, I can provide an example which may be benefit of these function.
For example:
val originalPrediction = Vectors.dense(Array(1, 2, 3))
val expected = Vectors.dense(Array(10, 20, 30))
In some cases, we can use "~==" to compare two Vector/Matrix which is defined in org.apache.spark.mllib.util.TestingUtils.
So currently we can only code as following:
val prediction = Vectors.dense(originalPrediction.toArry.map(x => x*10))
assert(prediction ~== expected absTol 0.01, "prediction error")
If we support map/update for Vector, we can code as:
assert(originalPrediction.map(x => x*10) ~== expected absTol 0.01, "prediction error")
> Add map/update function to MLlib/Vector
> ---------------------------------------
>
> Key: SPARK-9003
> URL: https://issues.apache.org/jira/browse/SPARK-9003
> Project: Spark
> Issue Type: Improvement
> Components: MLlib
> Reporter: Yanbo Liang
> Priority: Minor
>
> MLlib/Vector is short of map/update function which is inconvenience for some Vector operations.
> For example:
> val a = Vectors.dense(...)
> If we want to compute math.log for each elements of a and get Vector as return value, we can only code as:
> val b = Vectors.dense(a.toArray.map(math.log))
> The code snippet is not elegant, we want it can implement:
> val c = a.map(math.log)
> Also currently MLlib/Matrix has implemented map/update function. I think Vector should also has map/update.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org