org.apache.mahout.math.WeightedVector类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(6.8k)|赞(0)|评价(0)|浏览(113)

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

WeightedVector介绍

[英]Decorates a vector with a floating point weight and an index.
[中]用浮点权重和索引装饰向量。

代码示例

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

public static WeightedVector project(Vector v, Vector projection, int index) {
 return new WeightedVector(v, projection, index);
}

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

public Centroid(WeightedVector original) {
 super(original.getVector().like().assign(original), original.getWeight(), original.getIndex());
}

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

public static WeightedVector project(Vector v, Vector projection) {
 return project(v, projection, INVALID_INDEX);
}

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

@Override
public Vector like() {
 return new WeightedVector(getVector().like(), weight, index);
}

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

@Override
public int compare(WeightedVector a, WeightedVector b) {
 if (a == b) {
  return 0;
 }
 double aWeight = a.getWeight();
 double bWeight = b.getWeight();
 int r = Double.compare(aWeight, bWeight);
 if (r != 0 && Math.abs(aWeight - bWeight) >= DOUBLE_EQUALITY_ERROR) {
  return r;
 }
 double diff = a.minus(b).norm(1);
 if (diff < 1.0e-12) {
  return 0;
 }
 for (Vector.Element element : a.all()) {
  r = Double.compare(element.get(), b.get(element.index()));
  if (r != 0) {
   return r;
  }
 }
 return 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: org.apache.mahout/mahout-core

int closestIndex = ((WeightedVector) closestPair.getValue()).getIndex();
double closestDistance = closestPair.getWeight();
closestCentroid.setWeight(closestCentroid.getWeight() + datapoint.getWeight());

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

public static Centroid create(int key, Vector initialValue) {
 if (initialValue instanceof WeightedVector) {
  return new Centroid(key, new DenseVector(initialValue), ((WeightedVector) initialValue).getWeight());
 } else {
  return new Centroid(key, new DenseVector(initialValue), 1);
 }
}

代码示例来源:origin: tdunning/anomaly-detection

for (int i = 0; i < SAMPLES; i++) {
  int offset = i * STEP;
  WeightedVector row = new WeightedVector(new DenseVector(WINDOW), 1, i);
  row.assign(trace.viewPart(offset, WINDOW));
  row.assign(window, Functions.MULT);
  row.assign(Functions.mult(1 / row.norm(2)));
  r.add(row);
  for (int i = 0; i + WINDOW < trace.size(); i += WINDOW / 2) {
    WeightedVector row = new WeightedVector(new DenseVector(WINDOW), 1, i);
    row.assign(trace.viewPart(i, WINDOW));
    row.assign(window, Functions.MULT);
    double scale = row.norm(2);
    row.assign(Functions.mult(1 / scale));
      out.format("%.3f\t%.3f\t%d\n", rx.get(j, 0), rx.get(j, 1), ((WeightedVector) cluster.getValue()).getIndex());

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

Centroid c_1 = new Centroid(datapoints.get(selected).clone());
c_1.setIndex(0);
 double w = distanceMeasure.distance(c_1, row) * 2 * Math.log(1 + row.getWeight());
 seedSelector.set(i, w);

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

@Test
public void testOrdering() {
 WeightedVector v1 = new WeightedVector(new DenseVector(new double[]{1, 2, 3}), 5.41, 31);
 WeightedVector v2 = new WeightedVector(new DenseVector(new double[]{1, 2, 3}), 5.00, 31);
 WeightedVector v3 = new WeightedVector(new DenseVector(new double[]{1, 3, 3}), 5.00, 31);
 WeightedVector v4 = v1.clone();
 WeightedVectorComparator comparator = new WeightedVectorComparator();
 assertTrue(comparator.compare(v1, v2) > 0);
 assertTrue(comparator.compare(v3, v1) < 0);
 assertTrue(comparator.compare(v3, v2) > 0);
 assertEquals(0, comparator.compare(v4, v1));
 assertEquals(0, comparator.compare(v1, v1));
}

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

for (WeightedVector testDatapoint : trainTestSplit.getSecond()) {
 WeightedVector closest = (WeightedVector) centroids.searchFirst(testDatapoint, false).getValue();
 closest.setWeight(closest.getWeight() + testDatapoint.getWeight());

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

private static OnlineSummarizer evaluateStrategy(Matrix testData, BruteSearch ref,
                         LocalitySensitiveHashSearch cut) {
 OnlineSummarizer t1 = new OnlineSummarizer();
 for (int i = 0; i < 100; i++) {
  final Vector q = testData.viewRow(i);
  List<WeightedThing<Vector>> v1 = cut.search(q, 150);
  BitSet b1 = new BitSet();
  for (WeightedThing<Vector> v : v1) {
   b1.set(((WeightedVector)v.getValue()).getIndex());
  }
  List<WeightedThing<Vector>> v2 = ref.search(q, 100);
  BitSet b2 = new BitSet();
  for (WeightedThing<Vector> v : v2) {
   b2.set(((WeightedVector)v.getValue()).getIndex());
  }
  b1.and(b2);
  t1.add(b1.cardinality());
 }
 return t1;
}

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

@Override
public String toString() {
 return String.format("index=%d, weight=%.2f, v=%s", index, weight, getVector());
}

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

@Override
 public int hashCode() {
  int result = super.hashCode();
  result = 31 * result + (int) (hash ^ (hash >>> 32));
  return result;
 }
}

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

int closestIndex = ((WeightedVector) closestPair.getValue()).getIndex();
double closestDistance = closestPair.getWeight();
closestCentroid.setWeight(closestCentroid.getWeight() + datapoint.getWeight());

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

/**
  * Computes the total weight of the points in the given Vector iterable.
  * @param data iterable of points
  * @return total weight
  */
 public static double totalWeight(Iterable<? extends Vector> data) {
  double sum = 0;
  for (Vector row : data) {
   Preconditions.checkNotNull(row);
   if (row instanceof WeightedVector) {
    sum += ((WeightedVector)row).getWeight();
   } else {
    sum++;
   }
  }
  return sum;
 }
}

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

@Override
public Vector like() {
 return new WeightedVector(getVector().like(), weight, index);
}

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

Centroid c_1 = new Centroid(datapoints.get(selected).clone());
c_1.setIndex(0);
 double w = distanceMeasure.distance(c_1, row) * 2 * Math.log(1 + row.getWeight());
 seedSelector.set(i, w);

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

@Override
public int compare(WeightedVector a, WeightedVector b) {
 if (a == b) {
  return 0;
 }
 double aWeight = a.getWeight();
 double bWeight = b.getWeight();
 int r = Double.compare(aWeight, bWeight);
 if (r != 0 && Math.abs(aWeight - bWeight) >= DOUBLE_EQUALITY_ERROR) {
  return r;
 }
 double diff = a.minus(b).norm(1);
 if (diff < 1.0e-12) {
  return 0;
 }
 for (Vector.Element element : a.all()) {
  r = Double.compare(element.get(), b.get(element.index()));
  if (r != 0) {
   return r;
  }
 }
 return 0;
}

相关文章