static Vector average(List<Vector> list) { // find sum double[] sum = new double[list.get(0).size()]; for (Vector v : list) { for (int i = 0; i < sum.length; i++) { sum[i] += v.apply(i); } } // find averages... int numOfVectors = list.size(); for (int i = 0; i < sum.length; i++) { sum[i] = sum[i] / numOfVectors; } return new DenseVector(sum); }
static Vector average(Vector vec, Integer numVectors) { double[] avg = new double[vec.size()]; for (int i = 0; i < avg.length; i++) { // avg[i] = vec.apply(i) * (1.0 / numVectors); avg[i] = vec.apply(i) / ((double) numVectors); } return new DenseVector(avg); }
static double squaredDistance(Vector a, Vector b) { double distance = 0.0; int size = a.size(); for (int i = 0; i < size; i++) { double diff = a.apply(i) - b.apply(i); distance += diff * diff; } return distance; }
static Vector add(Vector a, Vector b) { double[] sum = new double[a.size()]; for (int i = 0; i < sum.length; i++) { sum[i] += a.apply(i) + b.apply(i); } return new DenseVector(sum); }
static double squaredDistance(Vector a, Vector b) { double distance = 0.0; int size = a.size(); for (int i = 0; i < size; i++) { double diff = a.apply(i) - b.apply(i); distance += diff * diff; } return distance; }
static Vector average(Vector vec, Integer numVectors) { double[] avg = new double[vec.size()]; for (int i = 0; i < avg.length; i++) { // avg[i] = vec.apply(i) * (1.0 / numVectors); avg[i] = vec.apply(i) / ((double) numVectors); } return new DenseVector(avg); }
static Vector add(Vector a, Vector b) { double[] sum = new double[a.size()]; for (int i = 0; i < sum.length; i++) { sum[i] += a.apply(i) + b.apply(i); } return new DenseVector(sum); }
@Test @SuppressWarnings("unchecked") public void testNormalVectorRDD() { long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = normalJavaVectorRDD(jsc, m, n); JavaRDD<Vector> rdd2 = normalJavaVectorRDD(jsc, m, n, p); JavaRDD<Vector> rdd3 = normalJavaVectorRDD(jsc, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testNormalVectorRDD() { long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = normalJavaVectorRDD(jsc, m, n); JavaRDD<Vector> rdd2 = normalJavaVectorRDD(jsc, m, n, p); JavaRDD<Vector> rdd3 = normalJavaVectorRDD(jsc, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testPoissonVectorRDD() { double mean = 2.0; long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = poissonJavaVectorRDD(jsc, mean, m, n); JavaRDD<Vector> rdd2 = poissonJavaVectorRDD(jsc, mean, m, n, p); JavaRDD<Vector> rdd3 = poissonJavaVectorRDD(jsc, mean, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testUniformVectorRDD() { long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = uniformJavaVectorRDD(jsc, m, n); JavaRDD<Vector> rdd2 = uniformJavaVectorRDD(jsc, m, n, p); JavaRDD<Vector> rdd3 = uniformJavaVectorRDD(jsc, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testUniformVectorRDD() { long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = uniformJavaVectorRDD(jsc, m, n); JavaRDD<Vector> rdd2 = uniformJavaVectorRDD(jsc, m, n, p); JavaRDD<Vector> rdd3 = uniformJavaVectorRDD(jsc, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testNormalVectorRDD() { long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = normalJavaVectorRDD(jsc, m, n); JavaRDD<Vector> rdd2 = normalJavaVectorRDD(jsc, m, n, p); JavaRDD<Vector> rdd3 = normalJavaVectorRDD(jsc, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testPoissonVectorRDD() { double mean = 2.0; long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = poissonJavaVectorRDD(jsc, mean, m, n); JavaRDD<Vector> rdd2 = poissonJavaVectorRDD(jsc, mean, m, n, p); JavaRDD<Vector> rdd3 = poissonJavaVectorRDD(jsc, mean, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testUniformVectorRDD() { long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = uniformJavaVectorRDD(jsc, m, n); JavaRDD<Vector> rdd2 = uniformJavaVectorRDD(jsc, m, n, p); JavaRDD<Vector> rdd3 = uniformJavaVectorRDD(jsc, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testExponentialVectorRDD() { double mean = 2.0; long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = exponentialJavaVectorRDD(jsc, mean, m, n); JavaRDD<Vector> rdd2 = exponentialJavaVectorRDD(jsc, mean, m, n, p); JavaRDD<Vector> rdd3 = exponentialJavaVectorRDD(jsc, mean, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testExponentialVectorRDD() { double mean = 2.0; long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = exponentialJavaVectorRDD(jsc, mean, m, n); JavaRDD<Vector> rdd2 = exponentialJavaVectorRDD(jsc, mean, m, n, p); JavaRDD<Vector> rdd3 = exponentialJavaVectorRDD(jsc, mean, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testLogNormalVectorRDD() { double mean = 4.0; double std = 2.0; long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = logNormalJavaVectorRDD(jsc, mean, std, m, n); JavaRDD<Vector> rdd2 = logNormalJavaVectorRDD(jsc, mean, std, m, n, p); JavaRDD<Vector> rdd3 = logNormalJavaVectorRDD(jsc, mean, std, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testGammaVectorRDD() { double shape = 1.0; double jscale = 2.0; long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = gammaJavaVectorRDD(jsc, shape, jscale, m, n); JavaRDD<Vector> rdd2 = gammaJavaVectorRDD(jsc, shape, jscale, m, n, p); JavaRDD<Vector> rdd3 = gammaJavaVectorRDD(jsc, shape, jscale, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } }
@Test @SuppressWarnings("unchecked") public void testRandomVectorRDD() { UniformGenerator generator = new UniformGenerator(); long m = 100L; int n = 10; int p = 2; long seed = 1L; JavaRDD<Vector> rdd1 = randomJavaVectorRDD(jsc, generator, m, n); JavaRDD<Vector> rdd2 = randomJavaVectorRDD(jsc, generator, m, n, p); JavaRDD<Vector> rdd3 = randomJavaVectorRDD(jsc, generator, m, n, p, seed); for (JavaRDD<Vector> rdd : Arrays.asList(rdd1, rdd2, rdd3)) { Assert.assertEquals(m, rdd.count()); Assert.assertEquals(n, rdd.first().size()); } } }