Examples of OpenIntHashSet


Examples of org.apache.mahout.math.set.OpenIntHashSet

  }

  @Test
  @Repeat(iterations = 20)
  public void testAgainstReferenceOpenIntHashSet() {
    AbstractIntSet base = new OpenIntHashSet();
    HashSet<Integer> reference = Sets.newHashSet();

    List<Operation> ops = Lists.newArrayList();
    addOp(ops, Operation.ADD, 60);
    addOp(ops, Operation.REMOVE, 30);
    addOp(ops, Operation.INDEXOF, 30);
    addOp(ops, Operation.CLEAR, 5);
    addOp(ops, Operation.ISEMPTY, 2);
    addOp(ops, Operation.SIZE, 2);

    int max = randomIntBetween(1000, 20000);
    for (int reps = 0; reps < max; reps++) {
      // Ensure some collisions among keys.
      int k = randomIntBetween(0, max / 4);
      switch (randomFrom(ops)) {
        case ADD:
          assertEquals(reference.add(k), base.add(k));
          break;

        case REMOVE:
          assertEquals(reference.remove(k), base.remove(k));
          break;

        case INDEXOF:
          assertEquals(reference.contains(k), base.contains(k));
          break;

        case CLEAR:
          reference.clear();
          base.clear();
          break;

        case ISEMPTY:
          assertEquals(reference.isEmpty(), base.isEmpty());
          break;

        case SIZE:
          assertEquals(reference.size(), base.size());
          break;

        default:
          throw new RuntimeException();
      }
View Full Code Here

Examples of org.apache.mahout.math.set.OpenIntHashSet

  /**
   * @see "https://issues.apache.org/jira/browse/MAHOUT-1225"
   */
  @Test
  public void testMahout1225() {
    AbstractIntSet s = new OpenIntHashSet();
    s.clear();
    s.add(23);
    s.add(46);
    s.clear();
    s.add(70);
    s.add(93);
    s.contains(100);
  }
View Full Code Here

Examples of org.apache.mahout.math.set.OpenIntHashSet

          y.getNumNondefaultElements() * y.getIteratorAdvanceCost() * x.getLookupCost());
    }

    @Override
    public Vector assign(Vector x, Vector y, DoubleDoubleFunction f) {
      OpenIntHashSet visited = new OpenIntHashSet();
      for (Element xe : x.nonZeroes()) {
        xe.set(f.apply(xe.get(), y.getQuick(xe.index())));
        visited.add(xe.index());
      }
      OrderedIntDoubleMapping updates = new OrderedIntDoubleMapping(false);
      for (Element ye : y.nonZeroes()) {
        if (!visited.contains(ye.index())) {
          updates.set(ye.index(), f.apply(x.getQuick(ye.index()), ye.get()));
        }
      }
      x.mergeUpdates(updates);
      return x;
View Full Code Here

Examples of org.apache.mahout.math.set.OpenIntHashSet

      return Math.max(x.getNumNondefaultElements() * x.getIteratorAdvanceCost() * y.getLookupCost(),
          y.getNumNondefaultElements() * y.getIteratorAdvanceCost() * x.getLookupCost());
    }
    @Override
    public Vector assign(Vector x, Vector y, DoubleDoubleFunction f) {
      OpenIntHashSet visited = new OpenIntHashSet();
      for (Element xe : x.nonZeroes()) {
        xe.set(f.apply(xe.get(), y.getQuick(xe.index())));
        visited.add(xe.index());
      }
      for (Element ye : y.nonZeroes()) {
        if (!visited.contains(ye.index())) {
          x.setQuick(ye.index(), f.apply(x.getQuick(ye.index()), ye.get()));
        }
      }
      return x;
    }
View Full Code Here

Examples of org.apache.mahout.math.set.OpenIntHashSet

  protected void map(LongWritable offset, Text input, Context context)
    throws IOException, InterruptedException {

    String[] items = splitter.split(input.toString());

    OpenIntHashSet itemSet = new OpenIntHashSet();

    for (String item : items) {
      if (fMap.containsKey(item) && !item.trim().isEmpty()) {
        itemSet.add(fMap.get(item));
      }
    }

    IntArrayList itemArr = new IntArrayList(itemSet.size());
    itemSet.keys(itemArr);
    itemArr.sort();

    OpenIntHashSet groups = new OpenIntHashSet();
    for (int j = itemArr.size() - 1; j >= 0; j--) {
      // generate group dependent shards
      int item = itemArr.get(j);
      int groupID = PFPGrowth.getGroup(item, maxPerGroup);
       
      if (!groups.contains(groupID)) {
        IntArrayList tempItems = new IntArrayList(j + 1);
        tempItems.addAllOfFromTo(itemArr, 0, j);
        context.setStatus("Parallel FPGrowth: Generating Group Dependent transactions for: " + item);
        wGroupID.set(groupID);
        context.write(wGroupID, new TransactionTree(tempItems, 1L));
      }
      groups.add(groupID);
    }
   
  }
View Full Code Here

Examples of org.apache.mahout.math.set.OpenIntHashSet

          y.getNumNondefaultElements() * y.getIteratorAdvanceCost() * x.getLookupCost());
    }

    @Override
    public double aggregate(Vector x, Vector y, DoubleDoubleFunction fa, DoubleDoubleFunction fc) {
      OpenIntHashSet visited = new OpenIntHashSet();
      Iterator<Vector.Element> xi = x.nonZeroes().iterator();
      boolean validResult = false;
      double result = 0;
      double thisResult;
      while (xi.hasNext()) {
        Vector.Element xe = xi.next();
        thisResult = fc.apply(xe.get(), y.getQuick(xe.index()));
        if (validResult) {
          result = fa.apply(result, thisResult);
        } else {
          result = thisResult;
          validResult = true;
        }
        visited.add(xe.index());
      }
      Iterator<Vector.Element> yi = y.nonZeroes().iterator();
      while (yi.hasNext()) {
        Vector.Element ye = yi.next();
        if (!visited.contains(ye.index())) {
          thisResult = fc.apply(x.getQuick(ye.index()), ye.get());
          if (validResult) {
            result = fa.apply(result, thisResult);
          } else {
            result = thisResult;
View Full Code Here

Examples of org.apache.mahout.math.set.OpenIntHashSet

  protected void map(LongWritable offset, Text input, Context context)
    throws IOException, InterruptedException {

    String[] items = splitter.split(input.toString());

    OpenIntHashSet itemSet = new OpenIntHashSet();

    for (String item : items) {
      if (fMap.containsKey(item) && !item.trim().isEmpty()) {
        itemSet.add(fMap.get(item));
      }
    }

    IntArrayList itemArr = new IntArrayList(itemSet.size());
    itemSet.keys(itemArr);
    itemArr.sort();

    OpenIntHashSet groups = new OpenIntHashSet();
    for (int j = itemArr.size() - 1; j >= 0; j--) {
      // generate group dependent shards
      int item = itemArr.get(j);
      int groupID = PFPGrowth.getGroup(item, maxPerGroup);
       
      if (!groups.contains(groupID)) {
        IntArrayList tempItems = new IntArrayList(j + 1);
        tempItems.addAllOfFromTo(itemArr, 0, j);
        context.setStatus("Parallel FPGrowth: Generating Group Dependent transactions for: " + item);
        wGroupID.set(groupID);
        context.write(wGroupID, new TransactionTree(tempItems, 1L));
      }
      groups.add(groupID);
    }
   
  }
View Full Code Here

Examples of org.apache.mahout.math.set.OpenIntHashSet

    protected void map(IntWritable userIDWritable, VectorWritable ratingsWritable, Context ctx)
        throws IOException, InterruptedException {

      Vector ratings = ratingsWritable.get();
      final int userID = userIDWritable.get();
      final OpenIntHashSet alreadyRatedItems = new OpenIntHashSet(ratings.getNumNondefaultElements());
      final TopK<RecommendedItem> topKItems = new TopK<RecommendedItem>(recommendationsPerUser, BY_PREFERENCE_VALUE);

      Iterator<Vector.Element> ratingsIterator = ratings.iterateNonZero();
      while (ratingsIterator.hasNext()) {
        alreadyRatedItems.add(ratingsIterator.next().index());
      }

      M.forEachPair(new IntObjectProcedure<Vector>() {
        @Override
        public boolean apply(int itemID, Vector itemFeatures) {
          if (!alreadyRatedItems.contains(itemID)) {
            double predictedRating = U.get(userID).dot(itemFeatures);
            topKItems.offer(new GenericRecommendedItem(itemID, (float) predictedRating));
          }
          return true;
        }
View Full Code Here

Examples of org.apache.mahout.math.set.OpenIntHashSet

     */
    public MovieLensDataModel(String filepath) {

        BufferedReader reader;

        OpenIntHashSet tusers = new OpenIntHashSet();
        OpenIntHashSet titems = new OpenIntHashSet();

        String line;
        try {
            reader = new BufferedReader(new FileReader(filepath));
            line = reader.readLine();

            int n = 0;
            double score = 0.0;
            while (line != null) {

                n++;
                if (n % 1000 == 0)
                    System.out.println("now iteration: " + n);

                String[] tmp = line.split("\t");
                int userid = Integer.parseInt(tmp[0]);
                int itemid = Integer.parseInt(tmp[1]);
                double rating = Double.parseDouble(tmp[2]);

                tusers.add(userid);
                titems.add(itemid);

                score += rating;

                // Initialize user-item rating matrix
                Vector tmp_vector = null;
                if (userItemMatrix.containsKey(userid)) {
                    tmp_vector = userItemMatrix.get(userid);
                    tmp_vector.setQuick(itemid, rating);
                } else {
                    tmp_vector = new SequentialAccessSparseVector(400);
                    tmp_vector.setQuick(itemid, rating);
                    userItemMatrix.put(userid, tmp_vector);
                }

                // Initialize item-user rating matrix
                tmp_vector = null;
                if (itemUserMatrix.containsKey(itemid)) {
                    tmp_vector = itemUserMatrix.get(itemid);
                    tmp_vector.setQuick(userid, rating);
                } else {
                    tmp_vector = new SequentialAccessSparseVector(400);
                    tmp_vector.setQuick(userid, rating);
                    itemUserMatrix.put(itemid, tmp_vector);
                }

                // read the next line
                line = reader.readLine();
            }
            reader.close();

            meanRating = score / n;

        } catch (IOException e) {
            e.printStackTrace();
        }

        users = tusers.keys();
        items = titems.keys();

        tusers = null;
        titems = null;
    }
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.