public void addSamples(C t, Iterable<V> samples) { FrequencyDistribution<V> freqDist = null; if (cfd.containsKey(t)) { freqDist = cfd.get(t); } else { freqDist = new FrequencyDistribution<V>(); cfd.put(t, freqDist); } long countBefore = freqDist.getN(); freqDist.incAll(samples); this.n = n + (freqDist.getN() - countBefore); }
public FrequencyDistribution(Iterable<T> iterable) { this(); for (T o : iterable) { addSample(o, 1); } }
@Test public void cfdTest() { List<String> tokens = Arrays.asList("This is a first test that contains a first test example".split(" ")); FrequencyDistribution<String> fd = new FrequencyDistribution<String>(); fd.incAll(tokens); System.out.println(fd); assertEquals(11, fd.getN()); assertEquals(8, fd.getB()); assertEquals(0, fd.getCount("humpelgrumpf")); assertEquals(1, fd.getCount("This")); assertEquals(2, fd.getCount("test")); } }
public static void main(String[] args) { List<String> tokens = Arrays.asList(StringUtils.split("This is a simple example sentence containing an example .")); FrequencyDistribution<String> fq = new FrequencyDistribution<String>(tokens); System.out.println(fq.getCount("example")); System.out.println(fq.getCount("is")); } }
@Override public long getNrOfTokens() throws Exception { return cfd.getFrequencyDistribution(1).getN(); } }
public long getCount(C t, V u) { if (cfd.containsKey(t)) { return cfd.get(t).getCount(u); } else { return 0; } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); for (C t : cfd.keySet()) { sb.append(t.toString()); sb.append(System.getProperty("line.separator")); sb.append(cfd.get(t).toString()); sb.append(System.getProperty("line.separator")); } return sb.toString(); } }
public void incAll(Iterable<T> iterable ) { for (T o : iterable) { addSample(o, 1); } }
public void inc(T o) { addSample(o, 1); }