Package org.apache.mahout.math

Examples of org.apache.mahout.math.NamedVector


    Configuration conf = new Configuration();
    Collection<Double> newEigenValues = Lists.newArrayList();

    int i = 0;
    for (VectorWritable value : new SequenceFileValueIterable<VectorWritable>(cleanEigenvectors, conf)) {
      NamedVector v = (NamedVector) value.get();
      eigenVectors.assignRow(i, v);
      log.info(v.getName());
      if (EigenVector.getCosAngleError(v.getName()) < 1.0e-3) {
        eigenvalues.add(EigenVector.getEigenValue(v.getName()));
      }
      i++;
    }
    assertEquals("number of clean eigenvectors", 3, i);

    i = 0;
    for (VectorWritable value : new SequenceFileValueIterable<VectorWritable>(cleanEigenvectors2, conf)) {
      NamedVector v = (NamedVector) value.get();
      log.info(v.getName());
      eigenVectors2.assignRow(i, v);
      newEigenValues.add(EigenVector.getEigenValue(v.getName()));
      i++;
    }

    Collection<Integer> oldEigensFound = Lists.newArrayList();
    for (int row = 0; row < eigenVectors.numRows(); row++) {
View Full Code Here


        name = indexReader.document(doc, idFieldSelector).get(idField);
      } else {
        name = String.valueOf(doc);
      }
      if (normPower == LuceneIterable.NO_NORMALIZING) {
        result = new NamedVector(result, name);
      } else {
        result = new NamedVector(result.normalize(normPower), name);
      }
      return result;
    } catch (IOException ioe) {
      throw new IllegalStateException(ioe);
    }
View Full Code Here

    if (sequentialAccess) {
      vector = new SequentialAccessSparseVector(vector);
    }

    if (namedVector) {
      vector = new NamedVector(vector, key.toString());
    }

    // 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 vectorWritable = new VectorWritable(vector);
View Full Code Here

    if (sequentialAccess) {
      vector = new SequentialAccessSparseVector(vector);
    }
   
    if (namedVector) {
      vector = new NamedVector(vector, key.toString());
    }
   
    VectorWritable vectorWritable = new VectorWritable(vector);
    context.write(key, vectorWritable);
  }
View Full Code Here

        termInfo,weight);

    i = 0;
    for (Vector vector : iterable) {
      assertNotNull(vector);
      NamedVector namedVector;
      if (vector instanceof NamedVector) {
        // rename it for testing purposes
        namedVector = new NamedVector(((NamedVector) vector).getDelegate(),
            "P(" + i + ')');

      } else {
        namedVector = new NamedVector(vector, "P(" + i + ')');
      }
      System.out.println(AbstractCluster.formatVector(namedVector,
          termDictionary));
      sampleData.add(new VectorWritable(namedVector));
      i++;
View Full Code Here

        new SequenceFile.Writer(fs, conf, outputPath, IntWritable.class, VectorWritable.class);
    try {
      IntWritable iw = new IntWritable();
      for (int i = 0; i < numEigenVectors; i++) {
        // Persist eigenvectors sorted by eigenvalues in descending order\
        NamedVector v = new NamedVector(state.getRightSingularVector(numEigenVectors - 1 - i),
            "eigenVector" + i + ", eigenvalue = " + state.getSingularValue(numEigenVectors - 1 - i));
        Writable vw = new VectorWritable(v);
        iw.set(i);
        seqWriter.append(iw, vw);
      }
View Full Code Here

  @SuppressWarnings("unchecked")
  @Override
  public void putNext(Tuple tuple) throws IOException {
    outputKey.set((String)tuple.get(0));
    Tuple vectorTuple = (Tuple)tuple.get(1);
    Vector vector = new NamedVector(new RandomAccessSparseVector(dimensions, vectorTuple.size()), outputKey.toString());
    for (int i=0; i < vectorTuple.size(); i++) {
        Object o = vectorTuple.get(i);
        switch (vectorTuple.getType(i)) {
            case DataType.INTEGER:
                // If this is just an integer then we just want to set the index to 1.0
                vector.set((Integer)o, 1.0);
                break;
            case DataType.TUPLE:
                // If this is a tuple then we want to set the index and the weight
                Tuple subt = (Tuple)o;
                vector.set((Integer)subt.get(0), (Double)subt.get(1));
                break;
            default:
                throw new RuntimeException("Unexpected tuple form");
        }
       
View Full Code Here

            while (pointsReader.next(k, wvw)) {
                int clusterId = k.get();               
                Vector v = wvw.getVector();
                if (v instanceof NamedVector) {
                    if (rand.nextDouble() < sampleRate) {
                        NamedVector nv = (NamedVector)v;
                        nv.getName();
                        Set<String> curDocIds = docIdMap.get(clusterId);
                        if (curDocIds == null) {
                            curDocIds = new HashSet<String>();
                        }
                        curDocIds.add(nv.getName());
                        docIdMap.put(clusterId, curDocIds);
                    }
                }
            }
        } catch (IOException e) {
View Full Code Here

   
    String INPUT_FILE =  "ratings_300.csv";
    String OUTPUT_FILE = "kmeans_output_file";
   
    List<NamedVector> apples = new ArrayList<NamedVector>();
    NamedVector apple;
    BufferedReader br = null;
    br = new BufferedReader(new FileReader(INPUT_FILE));
    String sCurrentLine;
    while ((sCurrentLine = br.readLine()) != null) {
   
      String item_name = sCurrentLine.split(",")[0];
      double[] features = new double[NUM_COLUMNS-1];
      for(int indx=1; indx<NUM_COLUMNS;++indx){
        features[indx-1] = Float.parseFloat(sCurrentLine.split(",")[indx])
      }
   
      apple = new NamedVector(new DenseVector(features), item_name );
      apples.add(apple);
  }

  Configuration conf = new Configuration();
  FileSystem fs = FileSystem.get(conf);
View Full Code Here

                if (!status.isDir() && !p.getName().startsWith("_")) {
                    try {
                        currReader = new SequenceFile.Reader(fs, p, conf);
                        while (currReader.next(k, wvw)) {
                            currCluster = coclusters.get(k.get());
                            NamedVector v = (NamedVector) wvw.getVector();
                            currVID = Integer.parseInt(v.getName());
                            if (docIDMap.containsKey(currVID)) {
                                currCluster.put(v, docIDMap.get(currVID), true);
                            } else if (featureIDMap.containsKey(currVID)) {
                                currCluster.put(v, featureIDMap.get(currVID), false);
                            } else {
View Full Code Here

TOP

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

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.