org.apache.mahout.math.Vector.plus()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(7.2k)|赞(0)|评价(0)|浏览(126)

本文整理了Java中org.apache.mahout.math.Vector.plus()方法的一些代码示例,展示了Vector.plus()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Vector.plus()方法的具体详情如下:
包路径:org.apache.mahout.math.Vector
类名称:Vector
方法名:plus

Vector.plus介绍

[英]Return a new vector containing the sum of each value of the recipient and the argument
[中]返回一个新向量,该向量包含收件人和参数的每个值之和

代码示例

代码示例来源:origin: apache/mahout

@Override
public Vector plus(double x) {
 return delegate.plus(x);
}

代码示例来源:origin: apache/mahout

@Override
public Vector plus(Vector x) {
 return delegate.plus(x);
}

代码示例来源:origin: apache/mahout

@Override
public Vector plus(double x) {
 return delegate.plus(x);
}

代码示例来源:origin: apache/mahout

@Override
public Vector plus(Vector x) {
 return delegate.plus(x);
}

代码示例来源:origin: apache/mahout

@Override
public Vector sample() {
 Vector v = new DenseVector(dimension).assign(
  new DoubleFunction() {
   @Override
   public double apply(double ignored) {
    return gen.nextGaussian();
   }
  }
 );
 if (mean != null) {
  if (scale != null) {
   return scale.times(v).plus(mean);
  } else {
   return v.plus(mean);
  }
 } else {
  if (scale != null) {
   return scale.times(v);
  } else {
   return v;
  }
 }
}

代码示例来源:origin: apache/mahout

@Test(expected = CardinalityException.class)
public void testPlusVectorCardinality() {
 test.plus(new DenseVector(test.size() + 1));
}

代码示例来源:origin: apache/mahout

@Test(expected = CardinalityException.class)
public void testPlusVectorCardinality() {
 test.plus(new DenseVector(test.size() + 1));
}

代码示例来源:origin: apache/mahout

@Test
public void testPlusDouble() throws Exception {
 Vector val = test.plus(1);
 assertEquals("size", 3, val.size());
 for (int i = 0; i < test.size(); i++) {
  assertEquals("get [" + i + ']', values[OFFSET + i] + 1, val.get(i), EPSILON);
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testPlusVector() throws Exception {
 Vector val = test.plus(test);
 assertEquals("size", 3, val.size());
 for (int i = 0; i < test.size(); i++) {
  assertEquals("get [" + i + ']', values[OFFSET + i] * 2, val.get(i), EPSILON);
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testPlusDouble() {
 Vector val = test.plus(1);
 assertEquals("size", test.size(), val.size());
 for (int i = 0; i < test.size(); i++) {
  if (i % 2 == 0) {
   assertEquals("get [" + i + ']', 1.0, val.get(i), EPSILON);
  } else {
   assertEquals("get [" + i + ']', values[i/2] + 1.0, val.get(i), EPSILON);
  }
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testPlusVector() {
 Vector val = test.plus(test);
 assertEquals("size", test.size(), val.size());
 for (int i = 0; i < test.size(); i++) {
  if (i % 2 == 0) {
   assertEquals("get [" + i + ']', 0.0, val.get(i), EPSILON);
  } else {
   assertEquals("get [" + i + ']', values[i/2] * 2.0, val.get(i), EPSILON);
  }
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testSmallDistances() {
 for (double fuzz : new double[]{1.0e-5, 1.0e-6, 1.0e-7, 1.0e-8, 1.0e-9, 1.0e-10}) {
  MultiNormal x = new MultiNormal(fuzz, new ConstantVector(0, 20));
  for (int i = 0; i < 10000; i++) {
   final T v1 = vectorToTest(20);
   Vector v2 = v1.plus(x.sample());
   if (1 + fuzz * fuzz > 1) {
    String msg = String.format("fuzz = %.1g, >", fuzz);
    assertTrue(msg, v1.getDistanceSquared(v2) > 0);
    assertTrue(msg, v2.getDistanceSquared(v1) > 0);
   } else {
    String msg = String.format("fuzz = %.1g, >=", fuzz);
    assertTrue(msg, v1.getDistanceSquared(v2) >= 0);
    assertTrue(msg, v2.getDistanceSquared(v1) >= 0);
   }
  }
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testProjection() {
 Vector v1 = new DenseVector(10).assign(Functions.random());
 WeightedVector v2 = new WeightedVector(v1, v1, 31);
 assertEquals(v1.dot(v1), v2.getWeight(), 1.0e-13);
 assertEquals(31, v2.getIndex());
 Matrix y = new DenseMatrix(10, 4).assign(Functions.random());
 Matrix q = new QRDecomposition(y.viewPart(0, 10, 0, 3)).getQ();
 Vector nullSpace = y.viewColumn(3).minus(q.times(q.transpose().times(y.viewColumn(3))));
 WeightedVector v3 = new WeightedVector(q.viewColumn(0).plus(q.viewColumn(1)), nullSpace, 1);
 assertEquals(0, v3.getWeight(), 1.0e-13);
 Vector qx = q.viewColumn(0).plus(q.viewColumn(1)).normalize();
 WeightedVector v4 = new WeightedVector(qx, q.viewColumn(0), 2);
 assertEquals(Math.sqrt(0.5), v4.getWeight(), 1.0e-13);
 WeightedVector v5 = WeightedVector.project(q.viewColumn(0), qx);
 assertEquals(Math.sqrt(0.5), v5.getWeight(), 1.0e-13);
}

代码示例来源:origin: apache/mahout

@Test
public void testMinus() {
 Vector val = test.minus(test);
 assertEquals("size", test.size(), val.size());
 for (int i = 0; i < test.size(); i++) {
  assertEquals("get [" + i + ']', 0.0, val.get(i), EPSILON);
 }
 val = test.minus(test).minus(test);
 assertEquals("cardinality", test.size(), val.size());
 for (int i = 0; i < test.size(); i++) {
  assertEquals("get [" + i + ']', 0.0, val.get(i) + test.get(i), EPSILON);
 }
 Vector val1 = test.plus(1);
 val = val1.minus(test);
 for (int i = 0; i < test.size(); i++) {
  assertEquals("get [" + i + ']', 1.0, val.get(i), EPSILON);
 }
 val1 = test.plus(-1);
 val = val1.minus(test);
 for (int i = 0; i < test.size(); i++) {
  assertEquals("get [" + i + ']', -1.0, val.get(i), EPSILON);
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testUpdate() {
 MultiNormal f = new MultiNormal(20);
 Vector a = f.sample();
 Vector b = f.sample();
 Vector c = f.sample();
 DenseVector x = new DenseVector(a);
 Centroid x1 = new Centroid(1, x);
 x1.update(new Centroid(2, new DenseVector(b)));
 Centroid x2 = new Centroid(x1);
 x1.update(c);
 // check for correct value
 Vector mean = a.plus(b).plus(c).assign(Functions.div(3));
 assertEquals(0, x1.getVector().minus(mean).norm(1), 1.0e-8);
 assertEquals(3, x1.getWeight(), 0);
 assertEquals(0, x2.minus(a.plus(b).divide(2)).norm(1), 1.0e-8);
 assertEquals(2, x2.getWeight(), 0);
 assertEquals(0, new Centroid(x1.getIndex(), x1, x1.getWeight()).minus(x1).norm(1), 1.0e-8);
 // and verify shared storage
 assertEquals(0, x.minus(x1).norm(1), 0);
 assertEquals(3, x1.getWeight(), 1.0e-8);
 assertEquals(1, x1.getIndex());
}

代码示例来源:origin: apache/mahout

Vector sv2 = new RandomAccessSparseVector(v2);
assertEquals(0, dv1.plus(dv2).getDistanceSquared(v1.plus(v2)), FUZZ);
assertEquals(0, dv1.plus(dv2).getDistanceSquared(v1.plus(dv2)), FUZZ);
assertEquals(0, dv1.plus(dv2).getDistanceSquared(v1.plus(sv2)), FUZZ);
assertEquals(0, dv1.plus(dv2).getDistanceSquared(sv1.plus(v2)), FUZZ);
assertEquals(0, dv1.divide(z).getDistanceSquared(v1.divide(z)), 1.0e-12);
assertEquals(0, dv1.times(z).getDistanceSquared(v1.times(z)), 1.0e-12);
assertEquals(0, dv1.plus(z).getDistanceSquared(v1.plus(z)), 1.0e-12);
assertEquals(0, v1.plus(-3.1).norm(1), FUZZ);
v1.assign(dv1);
assertEquals(0, v1.getDistanceSquared(dv1), FUZZ);

代码示例来源:origin: tdunning/MiA

public void reduce(VarLongWritable key, Iterable<VectorWritable> values,
      Context context) throws IOException, InterruptedException {
    Vector partial = null;
    for (VectorWritable vectorWritable : values) {
      partial = partial == null ? vectorWritable.get() : partial
          .plus(vectorWritable.get());
    }
    context.write(key, new VectorWritable(partial));
  }
}

代码示例来源:origin: org.apache.mahout/mahout-mrlegacy

@Override
public void observe(Model<VectorWritable> x) {
 AbstractCluster cl = (AbstractCluster) x;
 setS0(getS0() + cl.getS0());
 setS1(getS1().plus(cl.getS1()));
 setS2(getS2().plus(cl.getS2()));
}

代码示例来源:origin: org.apache.mahout/mahout-mr

@Override
public void observe(Model<VectorWritable> x) {
 AbstractCluster cl = (AbstractCluster) x;
 setS0(getS0() + cl.getS0());
 setS1(getS1().plus(cl.getS1()));
 setS2(getS2().plus(cl.getS2()));
}

代码示例来源:origin: cheng-li/pyramid

private Vector penaltyGradient(){
  Vector weightsVector = this.logisticRegression.getWeights().getAllWeights();
  Vector penalty = new DenseVector(weightsVector.size());
  penalty = penalty.plus(weightsVector.divide(priorGaussianVariance));
  for (int j:logisticRegression.getWeights().getAllBiasPositions()){
    penalty.set(j,0);
  }
  return penalty;
}

相关文章