protected int sortAndMerge(List<ComparableEvent> eventsToCompare,boolean sort) { int numUniqueEvents = super.sortAndMerge(eventsToCompare,sort); values = new float[numUniqueEvents][]; int numEvents = eventsToCompare.size(); for (int i = 0, j = 0; i < numEvents; i++) { ComparableEvent evt = (ComparableEvent) eventsToCompare.get(i); if (null == evt) { continue; // this was a dupe, skip over it. } values[j++] = evt.values; } return numUniqueEvents; }
protected int sortAndMerge(List<ComparableEvent> eventsToCompare,boolean sort) { int numUniqueEvents = super.sortAndMerge(eventsToCompare,sort); values = new float[numUniqueEvents][]; int numEvents = eventsToCompare.size(); for (int i = 0, j = 0; i < numEvents; i++) { ComparableEvent evt = (ComparableEvent) eventsToCompare.get(i); if (null == evt) { continue; // this was a dupe, skip over it. } values[j++] = evt.values; } return numUniqueEvents; }
/** * Two argument constructor for DataIndexer. * * @param eventStream * An Event[] which contains the a list of all the Events seen in the * training data. * @param cutoff * The minimum number of times a predicate must have been observed in * order to be included in the model. */ public OnePassDataIndexer(EventStream eventStream, int cutoff, boolean sort) throws IOException { Map<String, Integer> predicateIndex = new HashMap<String, Integer>(); LinkedList<Event> events; List<ComparableEvent> eventsToCompare; System.out.println("Indexing events using cutoff of " + cutoff + "\n"); System.out.print("\tComputing event counts... "); events = computeEventCounts(eventStream, predicateIndex, cutoff); System.out.println("done. " + events.size() + " events"); System.out.print("\tIndexing... "); eventsToCompare = index(events, predicateIndex); // done with event list events = null; // done with predicates predicateIndex = null; System.out.println("done."); System.out.print("Sorting and merging events... "); sortAndMerge(eventsToCompare, sort); System.out.println("Done indexing."); }
/** * Two argument constructor for DataIndexer. * * @param eventStream * An Event[] which contains the a list of all the Events seen in the * training data. * @param cutoff * The minimum number of times a predicate must have been observed in * order to be included in the model. */ public OnePassDataIndexer(EventStream eventStream, int cutoff, boolean sort) throws IOException { Map<String, Integer> predicateIndex = new HashMap<String, Integer>(); LinkedList<Event> events; List<ComparableEvent> eventsToCompare; System.out.println("Indexing events using cutoff of " + cutoff + "\n"); System.out.print("\tComputing event counts... "); events = computeEventCounts(eventStream, predicateIndex, cutoff); System.out.println("done. " + events.size() + " events"); System.out.print("\tIndexing... "); eventsToCompare = index(events, predicateIndex); // done with event list events = null; // done with predicates predicateIndex = null; System.out.println("done."); System.out.print("Sorting and merging events... "); sortAndMerge(eventsToCompare, sort); System.out.println("Done indexing."); }