本文整理了Java中org.apache.mahout.math.WeightedVector
类的一些代码示例,展示了WeightedVector
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WeightedVector
类的具体详情如下:
包路径:org.apache.mahout.math.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;
}
内容来源于网络,如有侵权,请联系作者删除!