Как да създадете SparseVector
и плътни векторни представяния
ако DenseVector
е:
denseV = np.array([0., 3., 0., 4.])
Какво ще бъде представянето на Sparse Vector?
Как да създадете SparseVector
и плътни векторни представяния
ако DenseVector
е:
denseV = np.array([0., 3., 0., 4.])
Какво ще бъде представянето на Sparse Vector?
Освен ако не съм разбрал съвсем погрешно вашето съмнение, документацията за тип данни MLlib илюстрира това съвсем ясно:
import org.apache.spark.mllib.linalg.Vector;
import org.apache.spark.mllib.linalg.Vectors;
// Create a dense vector (1.0, 0.0, 3.0).
Vector dv = Vectors.dense(1.0, 0.0, 3.0);
// Create a sparse vector (1.0, 0.0, 3.0) by specifying its indices and values corresponding to nonzero entries.
Vector sv = Vectors.sparse(3, new int[] {0, 2}, new double[] {1.0, 3.0});
Където вторият аргумент на Vectors.sparse
е масив от индекси, а третият аргумент е масив от действителните стойности в тези индекси.
1.
е еквивалентно на 1.0
- person Abhinav Sood; 20.10.2016
Разредените вектори са, когато имате много стойности във вектора като нула. Докато плътен вектор е, когато повечето от стойностите във вектора не са нула.
Ако трябва да създадете разреден вектор от плътния вектор, който сте посочили, използвайте следния синтаксис:
import org.apache.spark.mllib.linalg.Vector;
import org.apache.spark.mllib.linalg.Vectors;
Vector sparseVector = Vectors.sparse(4, new int[] {1, 3}, new double[] {3.0, 4.0});