Package org.apache.mahout.math

Examples of org.apache.mahout.math.Vector


    for (int i = 0; i < dotval.length; i++) {
      this.model.timesDelta(i, dotval[i]);
    }

    double[] valuesFalse = {1.0, 0.0, 1.0, 0.0, 1.0};
    Vector dataPointFalse = new DenseVector(valuesFalse);
    assertTrue(this.model.classify(dataPointFalse));

    double[] valuesTrue = {0.0, 1.0, 0.0, 1.0, 0.0};
    Vector dataPointTrue = new DenseVector(valuesTrue);
    assertFalse(this.model.classify(dataPointTrue));
  }
View Full Code Here


   * @param corpus
   * @return
   */
  @Override
  protected Vector getInitialVector(VectorIterable corpus) {
    Vector initialVector = new DenseVector(corpus.numCols());
    initialVector.assign(1/Math.sqrt(corpus.numCols()));
    return initialVector;
  }
View Full Code Here

    FileSystem fs = FileSystem.get(conf);
    SequenceFile.Writer seqWriter = new SequenceFile.Writer(fs, conf, path, IntWritable.class, VectorWritable.class);
    VectorWritable vw = new VectorWritable();
    IntWritable iw = new IntWritable();
    for(int i=0; i<eigenVectors.numRows() - 1; i++) {
      Vector v = eigenVectors.getRow(i);
      v.setName("eigenVector" + i + ", eigenvalue = " + eigenValues.get(i));
      vw.set(v);
      iw.set(i);
      seqWriter.append(iw, vw);
    }
    seqWriter.close();
View Full Code Here

    trainer = new PerceptronTrainer(3, 0.5, 0.1, 1.0, 1.0);
  }

  public void testUpdate() throws TrainingException {
    double[] labels = { 1.0, 1.0, 1.0, 0.0 };
    Vector labelset = new DenseVector(labels);
    double[][] values = new double[3][4];
    for (int i = 0; i < 3; i++) {
      values[i][0] = 1.0;
      values[i][1] = 1.0;
      values[i][2] = 1.0;
View Full Code Here

    Model<O>[] newModels = modelFactory.sampleFromPosterior(state.getModels());
   
    // iterate over the samples, assigning each to a model
    for (O x : sampleData) {
      // compute normalized vector of probabilities that x is described by each model
      Vector pi = normalizedProbabilities(state, x);
      // then pick one cluster by sampling a Multinomial distribution based upon them
      // see: http://en.wikipedia.org/wiki/Multinomial_distribution
      int k = UncommonDistributions.rMultinom(pi);
      // ask the selected model to observe the datum
      newModels[k].observe(x);
View Full Code Here

   * @param x
   *          an Observation
   * @return the Vector of probabilities
   */
  private Vector normalizedProbabilities(DirichletState<O> state, O x) {
    Vector pi = new DenseVector(numClusters);
    double max = 0;
    for (int k = 0; k < numClusters; k++) {
      double p = state.adjustedProbability(x, k);
      pi.set(k, p);
      if (max < p) {
        max = p;
      }
    }
    // normalize the probabilities by largest observed value
    pi.assign(new TimesFunction(), 1.0 / max);
    return pi;
  }
View Full Code Here

 
  @Override
  public Model<VectorWritable>[] sampleFromPrior(int howMany) {
    Model<VectorWritable>[] result = new NormalModel[howMany];
    for (int i = 0; i < howMany; i++) {
      Vector prototype = getModelPrototype().get();
      result[i] = new NormalModel(prototype.like(), 1);
    }
    return result;
  }
View Full Code Here

      }
    }
   
    @Override
    public Vector next() {
      Vector result;
      int doc = termDocs.doc();
      //
      try {
        indexReader.getTermFreqVector(doc, field, mapper);
        mapper.setDocumentNumber(doc);
        result = mapper.getVector();
        if (result == null) {
          return null;
        }
        if (idField != null) {
          String id = indexReader.document(doc, idFieldSelector).get(idField);
          result.setName(id);
        } else {
          result.setName(String.valueOf(doc));
        }
        if (normPower != NO_NORMALIZING) {
          result = result.normalize(normPower);
        }
      } catch (IOException e) {
        // Log?
        throw new IllegalStateException(e);
      }
View Full Code Here

  @Override
  public void map(WritableComparable<?> key,
                  VectorWritable value,
                  OutputCollector<IntWritable,LongWritable> output,
                  Reporter reporter) throws IOException {
    Vector vector = value.get();
    Iterator<Element> it = vector.iterateNonZero();
   
    while (it.hasNext()) {
      Element e = it.next();
      output.collect(new IntWritable(e.index()), ONE);
    }
View Full Code Here

    if (values.hasNext() == false) {
      return;
    }
    StringTuple value = values.next();
   
    Vector vector = new RandomAccessSparseVector(key.toString(), dimension, value.length()); // guess at
                                                                                             // initial size
   
    if (maxNGramSize >= 2) {
      ShingleFilter sf = new ShingleFilter(new IteratorTokenStream(value.getEntries().iterator()),
          maxNGramSize);
     
      do {
        String term = ((TermAttribute) sf.getAttribute(TermAttribute.class)).term();
        if (term.length() > 0) { // ngram
          if (dictionary.containsKey(term) == false) {
            continue;
          }
          int termId = dictionary.get(term);
          vector.setQuick(termId, vector.getQuick(termId) + 1);
        }
      } while (sf.incrementToken());
     
      sf.end();
      sf.close();
    } else {
      for (String term : value.getEntries()) {
        if (term.length() > 0) { // unigram
          if (dictionary.containsKey(term) == false) {
            continue;
          }
          int termId = dictionary.get(term);
          vector.setQuick(termId, vector.getQuick(termId) + 1);
        }
      }
    }
    if (sequentialAccess) {
      vector = new SequentialAccessSparseVector(vector);
    }
    // if the vector has no nonZero entries (nothing in the dictionary), let's not waste space sending it to disk.
    if(vector.getNumNondefaultElements() > 0) {
      vectorWritable.set(vector);
      output.collect(key, vectorWritable);
    } else {
      reporter.incrCounter("TFParticalVectorReducer", "emptyVectorCount", 1);
    }
View Full Code Here

TOP

Related Classes of org.apache.mahout.math.Vector

Copyright © 2018 www.massapicom. 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.