Package org.apache.mahout.math

Examples of org.apache.mahout.math.Vector.nonZeroes()


    for (PrefAndSimilarityColumnWritable prefAndSimilarityColumn : values) {
      Vector simColumn = prefAndSimilarityColumn.getSimilarityColumn();
      float prefValue = prefAndSimilarityColumn.getPrefValue();
      /* count the number of items used for each prediction */
      for (Element e : simColumn.nonZeroes()) {
        int itemIDIndex = e.index();
        numberOfSimilarItemsUsed.setQuick(itemIDIndex, numberOfSimilarItemsUsed.getQuick(itemIDIndex) + 1);
      }

      if (denominators == null) {
View Full Code Here


      boolean firstIsOutFrag =  ((VectorWritable)v.get(0)).get().size() == outCardinality;
      Vector outFrag = firstIsOutFrag ? ((VectorWritable)v.get(0)).get() : ((VectorWritable)v.get(1)).get();
      Vector multiplier = firstIsOutFrag ? ((VectorWritable)v.get(1)).get() : ((VectorWritable)v.get(0)).get();

      VectorWritable outVector = new VectorWritable();
      for (Vector.Element e : multiplier.nonZeroes()) {
        row.set(e.index());
        outVector.set(outFrag.times(e.get()));
        out.collect(row, outVector);
      }
    }
View Full Code Here

  public double distance(Vector p1, Vector p2) {
    double result = 0;
   
    Vector res = p2.minus(p1);
    if (getWeights() == null) {
      for (Element elt : res.nonZeroes()) {
        result += Math.abs(elt.get());
      }
     
    } else {
      for (Element elt : res.nonZeroes()) {
View Full Code Here

      for (Element elt : res.nonZeroes()) {
        result += Math.abs(elt.get());
      }
     
    } else {
      for (Element elt : res.nonZeroes()) {
        result += Math.abs(elt.get() * getWeights().get(elt.index()));
      }
    }
   
    return result;
View Full Code Here

      Vector rowVector = similarity.normalize(vectorWritable.get());

      int numNonZeroEntries = 0;
      double maxValue = Double.MIN_VALUE;

      for (Vector.Element element : rowVector.nonZeroes()) {
        RandomAccessSparseVector partialColumnVector = new RandomAccessSparseVector(Integer.MAX_VALUE);
        partialColumnVector.setQuick(row.get(), element.get());
        ctx.write(new IntWritable(element.index()), new VectorWritable(partialColumnVector));

        numNonZeroEntries++;
View Full Code Here

      throws IOException, InterruptedException {
      Iterator<VectorWritable> partialDotsIterator = partialDots.iterator();
      Vector dots = partialDotsIterator.next().get();
      while (partialDotsIterator.hasNext()) {
        Vector toAdd = partialDotsIterator.next().get();
        for (Element nonZeroElement : toAdd.nonZeroes()) {
          dots.setQuick(nonZeroElement.index(), dots.getQuick(nonZeroElement.index()) + nonZeroElement.get());
        }
      }

      Vector similarities = dots.like();
View Full Code Here

  @Override
  protected void map(WritableComparable<?> key, VectorWritable value, Context context)
    throws IOException, InterruptedException {
    Vector vector = value.get();
    for (Vector.Element e : vector.nonZeroes()) {
      out.set(e.index());
      context.write(out, ONE);
    }
    context.write(TOTAL_COUNT, ONE);
  }
View Full Code Here

    // we assume sequential access in the output
    Vector provider = v.isSequentialAccess() ? v : new SequentialAccessSparseVector(v);

    buffer.append('[');
    for (Element elem : provider.nonZeroes()) {

      if (hasBindings && bindings.length >= elem.index() + 1 && bindings[elem.index()] != null) {
        buffer.append(bindings[elem.index()]).append(':');
      } else if (hasBindings || isSparse) {
        buffer.append(elem.index()).append(':');
View Full Code Here

  @Override
  protected void map(WritableComparable<?> key, VectorWritable value, Context context) throws IOException,
      InterruptedException {
    Vector probabilities = classifier.classify(value.get());
    Vector selections = policy.select(probabilities);
    for (Element el : selections.nonZeroes()) {
      classifier.train(el.index(), value.get(), el.get());
    }
  }

  @Override
View Full Code Here

  protected void update(double label, Vector dataPoint, LinearModel model) {
    if (label > 0) {
      // case one
      Vector updateVector = dataPoint.times(1 / this.promotionStep);
      log.info("Winnow update positive: {}", updateVector);
      for (Vector.Element element : updateVector.nonZeroes()) {
        if (element.get() != 0) {
          model.timesDelta(element.index(), element.get());
        }
      }
    } else {
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.