public ClairvoyantPolicy(Config config) { BasicSettings settings = new BasicSettings(config); policyStats = new PolicyStats("opt.Clairvoyant"); accessTimes = new Long2ObjectOpenHashMap<>(); infiniteTimestamp = Integer.MAX_VALUE; maximumSize = settings.maximumSize(); future = new LongArrayFIFOQueue(); data = new IntRBTreeSet(); }
public GraphViewStore(GraphStore graphStore) { if (graphStore == null) { throw new NullPointerException(); } this.graphStore = graphStore; this.views = new GraphViewImpl[DEFAULT_VIEWS]; this.garbageQueue = new IntRBTreeSet(); this.visibleView = graphStore.mainGraphView; }
public GraphViewStore(GraphStore graphStore) { if (graphStore == null) { throw new NullPointerException(); } this.graphStore = graphStore; this.views = new GraphViewImpl[DEFAULT_VIEWS]; this.garbageQueue = new IntRBTreeSet(); this.visibleView = graphStore.mainGraphView; }
private static IntSet readQueryDoc(File queryDoc) throws IOException { if (queryDoc == null) { return new IntRBTreeSet(); } final DataInputStream in = new DataInputStream(new FileInputStream(queryDoc)); final IntRBTreeSet querySet = new IntRBTreeSet(); while (true) { try { querySet.add(in.readInt()); } catch (EOFException x) { break; } } return querySet; }
protected TimeIndexStore(Class<T> type, GraphLock lock, boolean indexed, Map<K, Integer> sortedMap) { elementType = type; graphLock = lock; garbageQueue = new IntRBTreeSet(); // Subclass timeSortedMap = sortedMap; countMap = new int[0]; viewIndexes = indexed ? new Object2ObjectOpenHashMap<GraphView, TimeIndexImpl>() : null; }
protected TimeIndexStore(Class<T> type, GraphLock lock, boolean indexed, Map<K, Integer> sortedMap) { elementType = type; graphLock = lock; garbageQueue = new IntRBTreeSet(); // Subclass timeSortedMap = sortedMap; countMap = new int[0]; viewIndexes = indexed ? new Object2ObjectOpenHashMap<GraphView, TimeIndexImpl>() : null; }
/** * Returns a map of associations and their confidence, where confidence is support for the itemset (that is, the * number of times it appears in the input data) divided by the total number of sets (i.e., the percentage of input * sets where it appears. * <p> * The map returned includes only those itemsets for which the confidence is above the given threshold */ public Object2DoubleOpenHashMap<IntRBTreeSet> confidenceMap(double supportThreshold) { List<ItemSet> itemSets = learn(); Object2DoubleOpenHashMap<IntRBTreeSet> confidenceMap = new Object2DoubleOpenHashMap<>(itemSets.size()); long intSupportThreshold = Math.round(itemSets.size() * supportThreshold); for (ItemSet itemSet : itemSets) { if (itemSet.support >= intSupportThreshold) { IntRBTreeSet itemSetCopy = new IntRBTreeSet(itemSet.items); confidenceMap.put(itemSetCopy, itemSet.support / (double) setCount); } } return confidenceMap; } }
/** * Returns a map of associations and their confidence, where confidence is support for the itemset (that is, the * number of times it appears in the input data) divided by the total number of sets (i.e., the percentage of input * sets where it appears. */ public Object2DoubleOpenHashMap<IntRBTreeSet> confidenceMap() { List<ItemSet> itemSets = learn(); Object2DoubleOpenHashMap<IntRBTreeSet> confidenceMap = new Object2DoubleOpenHashMap<>(itemSets.size()); for (ItemSet itemSet : itemSets) { IntRBTreeSet itemSetCopy = new IntRBTreeSet(itemSet.items); confidenceMap.put(itemSetCopy, itemSet.support / (double) setCount); } return confidenceMap; }
public Octree(int maxDepth, int size) { this.length = 0; this.leaves = new Octant[0]; this.garbageQueue = new IntRBTreeSet(); this.maxDepth = maxDepth; this.size = size; this.selectedLeaves = new ArrayList<>(); this.nodeIterator = new OctantIterator(); this.edgeIterator = new EdgeIterator(null); this.selectableIterator = new SelectableIterator(); //Init root float dis = size / (float) Math.pow(2, this.maxDepth + 1); root = new Octant(0, dis, dis, dis, size); }
public static int[] mapUID(long[] uidArray, DocIDMapper mapper) { IntRBTreeSet idSet = new IntRBTreeSet(); for (long uid : uidArray) { if (uid != ZoieSegmentReader.DELETED_UID) { int docid = mapper.getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { idSet.add(docid); } } } return idSet.toIntArray(); }
public void addRow(int indexNum, int rowNum) { IntSortedSet rowNums = comprisedRows.get(indexNum); if (rowNums == null) { rowNums = new IntRBTreeSet(); comprisedRows.put(indexNum, rowNums); } rowNums.add(rowNum); }
public static int[] mapUID(long[] uidArray, DocIDMapper mapper) { IntRBTreeSet idSet = new IntRBTreeSet(); for (long uid : uidArray) { if (uid != ZoieSegmentReader.DELETED_UID) { int docid = mapper.getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { idSet.add(docid); } } } return idSet.toIntArray(); }
public static int[] mapUID(long[] uidArray,DocIDMapper<?> mapper) { IntRBTreeSet idSet = new IntRBTreeSet(); for (long uid : uidArray) { if (uid != ZoieIndexReader.DELETED_UID) { int docid = mapper.getDocID(uid); if (docid!=DocIDMapper.NOT_FOUND) { idSet.add(docid); } } } return idSet.toIntArray(); }
public ClairvoyantPolicy(Config config) { BasicSettings settings = new BasicSettings(config); policyStats = new PolicyStats("opt.Clairvoyant"); accessTimes = new Long2ObjectOpenHashMap<>(); infiniteTimestamp = Integer.MAX_VALUE; maximumSize = settings.maximumSize(); future = new LongArrayFIFOQueue(); data = new IntRBTreeSet(); }
default Selection startsWith(String string) { Selection results = new BitmapBackedSelection(); IntRBTreeSet sorted = new IntRBTreeSet(); DictionaryMap dictionaryMap = this.dictionaryMap(); for (Object2IntMap.Entry<String> entry : dictionaryMap.valueToKeyMap().object2IntEntrySet()) { String key = entry.getKey(); if (key.startsWith(string)) { sorted.add(entry.getIntValue()); } } int i = 0; for (int next : values()) { if (sorted.contains(next)) { results.add(i); } i++; } return results; }
public Table interest(double confidenceThreshold, double interestThreshold, Object2DoubleOpenHashMap<IntRBTreeSet> confidenceMap) { Table interestTable = Table.create("Interest"); interestTable.addColumn(new CategoryColumn("Antecedent")); interestTable.addColumn(new CategoryColumn("Consequent")); interestTable.addColumn(new FloatColumn("Confidence")); interestTable.addColumn(new FloatColumn("Interest")); List<AssociationRule> rules = model.learn(confidenceThreshold); for (AssociationRule rule : rules) { double interest = rule.confidence - confidenceMap.getDouble(new IntRBTreeSet(rule.consequent)); if (Math.abs(interest) > interestThreshold) { interestTable.categoryColumn(0).appendCell(Arrays.toString(rule.antecedent)); interestTable.categoryColumn(1).appendCell(Arrays.toString(rule.consequent)); interestTable.floatColumn(2).append(rule.confidence); interestTable.floatColumn(3).append(interest); } } return interestTable; } }
public static IntSet mostSalient(final File reference, final File corpus, int W, int topN, SourceType sourceType) throws IOException { final PrecomputedValues precomp1 = PrecomputedValues.precompute(reference, W, SourceType.SIMPLE); final PrecomputedValues precomp2 = PrecomputedValues.precompute(corpus, W, sourceType); final double[] salience = new double[W]; final IntRBTreeSet topNWords = new IntRBTreeSet(new IntComparator() { @Override public int compare(int i, int i1) { return salience[i] < salience[i1] ? -1 : (salience[i] > salience[i1] ? 1 : i - i1); } @Override public int compare(Integer o1, Integer o2) { return compare(o1.intValue(), o2.intValue()); } }); for (int w = 0; w < W; w++) { final double val = precomp1.mu.value(w); final Double val2 = precomp2.mu.value(w); if (val != 0.0 && val2 != 0.0) { salience[w] = val / val2; if (topNWords.size() < topN) { topNWords.add(w); } else if (salience[w] > salience[topNWords.firstInt()]) { topNWords.remove(topNWords.first()); topNWords.add(w); } } } return topNWords; }
public AssociationRuleMining(IntColumn sets, CategoryColumn items, double support) { Table temp = Table.create("temp"); temp.addColumn(sets.copy()); temp.addColumn(items.asIntColumn()); temp.sortAscendingOn(sets.name(), items.name()); ViewGroup baskets = temp.splitOn(temp.column(0)); int[][] itemsets = new int[baskets.size()][]; int basketIndex = 0; for (TemporaryView basket : baskets) { IntRBTreeSet set = new IntRBTreeSet(basket.intColumn(1).data()); int itemIndex = 0; itemsets[basketIndex] = new int[set.size()]; for (int item : set) { itemsets[basketIndex][itemIndex] = item; itemIndex++; } basketIndex++; } this.model = new ARM(itemsets, support); }
public FrequentItemset(ShortColumn sets, CategoryColumn items, double support) { Table temp = Table.create("temp"); temp.addColumn(sets.copy()); IntColumn encodedItems = items.asIntColumn(); encodedItems.setName(items.name()); // Needs t temp.addColumn(encodedItems); temp.sortAscendingOn(sets.name(), items.name()); ViewGroup baskets = temp.splitOn(temp.column(0)); this.setCount = baskets.size(); int[][] itemsets = new int[setCount][]; int basketIndex = 0; for (TemporaryView basket : baskets) { IntRBTreeSet set = new IntRBTreeSet(basket.intColumn(1).data()); int itemIndex = 0; itemsets[basketIndex] = new int[set.size()]; for (int item : set) { itemsets[basketIndex][itemIndex] = item; itemIndex++; } basketIndex++; } this.model = new FPGrowth(itemsets, support); }
public FrequentItemset(IntColumn sets, CategoryColumn items, double support) { Table temp = Table.create("temp"); temp.addColumn(sets.copy()); IntColumn encodedItems = items.asIntColumn(); encodedItems.setName(items.name()); // Needs t temp.addColumn(encodedItems); temp.sortAscendingOn(sets.name(), items.name()); ViewGroup baskets = temp.splitOn(temp.column(0)); this.setCount = baskets.size(); int[][] itemsets = new int[setCount][]; int basketIndex = 0; for (TemporaryView basket : baskets) { IntRBTreeSet set = new IntRBTreeSet(basket.intColumn(1).data()); int itemIndex = 0; itemsets[basketIndex] = new int[set.size()]; for (int item : set) { itemsets[basketIndex][itemIndex] = item; itemIndex++; } basketIndex++; } this.model = new FPGrowth(itemsets, support); }