Je suis nouveau à la bibliothèque Breeze et je voudrais convertir un Map[Int, Double]
en breeze.linalg.SparseVector
, et idéalement sans avoir à spécifier une longueur fixe du SparseVector
. J'ai réussi à atteindre l'objectif avec ce code maladroit:Conversion de carte [Int, Double] à breeze.linalg.SparseVector
import breeze.linalg.{SparseVector => SBV}
val mySparseVector: SBV[Double] = new SBV[Double](Array.empty, Array.empty, 10000)
myMap foreach { e => mySparseVector(e._1) = e._2 }
Non seulement je dois spécifier une longueur fixe de 10 000, mais le code fonctionne en O (n), où n est la taille de la carte. Y a-t-il un meilleur moyen?