Examples of DiscreteDistribution


Examples of edu.cmu.graphchi.walks.distributions.DiscreteDistribution

        }
    }

    @Test
    public void testTopWithOnes() {
        DiscreteDistribution d1 = new DiscreteDistribution(new int[] {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20,21,22,23,200,298});
        DiscreteDistribution avoidDist = DiscreteDistribution.createAvoidanceDistribution(new int[]{12, 15, 20});
        IdCount[] top = d1.getTop(10);
        assertEquals(10, top.length);

        DiscreteDistribution mergedWithAvoid = DiscreteDistribution.merge(d1, avoidDist);
        IdCount[] top2 = mergedWithAvoid.getTop(10);
        assertEquals(10, top2.length);
    }
View Full Code Here

Examples of edu.cmu.graphchi.walks.distributions.DiscreteDistribution

        assertEquals(10, top2.length);
    }

    @Test
    public void testFiltering() {
        DiscreteDistribution d1 = new DiscreteDistribution(new int[] {1,1,1,8,8,8,9,22,22,22,22,22,333,333,333,333,333,333,333,333});
        assertEquals(3, d1.getCount(1));
        assertEquals(3, d1.getCount(8));
        assertEquals(1, d1.getCount(9));
        assertEquals(5, d1.getCount(22));
        assertEquals(8, d1.getCount(333));

        DiscreteDistribution notReallyFiltered = d1.filteredAndShift(1);
        assertTrue(notReallyFiltered == d1);

        DiscreteDistribution filtered = d1.filteredAndShift(4);
        assertEquals(0, filtered.getCount(1));
        assertEquals(0, filtered.getCount(8));
        assertEquals(0, filtered.getCount(9));
        assertEquals(5 - 3, filtered.getCount(22));
        assertEquals(8 - 3, filtered.getCount(333));
        assertEquals(2, filtered.size());

        // Check that avoided ones are not filtered
        DiscreteDistribution filteredWithAnAvoid = DiscreteDistribution.merge(d1,
                DiscreteDistribution.createAvoidanceDistribution(new int[]{99, 108})).filteredAndShift(4);

        assertEquals(0, filteredWithAnAvoid.getCount(1));
        assertEquals(0, filteredWithAnAvoid.getCount(8));
        assertEquals(0, filteredWithAnAvoid.getCount(9));
        assertEquals(5 - 3, filteredWithAnAvoid.getCount(22));
        assertEquals(8 - 3, filteredWithAnAvoid.getCount(333));
        assertEquals(-1, filteredWithAnAvoid.getCount(99));
        assertEquals(-1, filteredWithAnAvoid.getCount(108));

        DiscreteDistribution filteredAll = d1.filteredAndShift(100);
        DiscreteDistribution filteredAll2 = filtered.filteredAndShift(100);

        assertEquals(0, filteredAll.getCount(1));
        assertEquals(0, filteredAll.getCount(8));
        assertEquals(0, filteredAll.getCount(9));
        assertEquals(0, filteredAll.getCount(22));
        assertEquals(0, filteredAll.getCount(333));
        assertEquals(0, filteredAll2.getCount(1));
        assertEquals(0, filteredAll2.getCount(8));
        assertEquals(0, filteredAll2.getCount(9));
        assertEquals(0, filteredAll2.getCount(22));
        assertEquals(0, filteredAll2.getCount(333));

        assertEquals(0, filteredAll.size());
        assertEquals(0, filteredAll2.size());
    }
View Full Code Here

Examples of edu.cmu.graphchi.walks.distributions.DiscreteDistribution

                n = r.nextInt(10000);
            } while (countToId.containsKey(n)); // Unique count keys
            countToId.put(n, i);
            insertMultiple(workArr, i, n);
        }
        DiscreteDistribution dist = new DiscreteDistribution(toIntArray(workArr));


        /* Then insert some edges to avoid */
        int[] avoids = new int[] {0, 2, 4, 32,33, 66, 67,6899, 102, 184};
        DiscreteDistribution avoidDistr = DiscreteDistribution.createAvoidanceDistribution(avoids);

        // Test the merge works both ways
        DiscreteDistribution mergedL = DiscreteDistribution.merge(dist, avoidDistr);
        DiscreteDistribution mergedR = DiscreteDistribution.merge(avoidDistr, dist);

        for(int a : avoids) {
            assertEquals(-1, avoidDistr.getCount(a));
            assertEquals(-1, mergedL.getCount(a));
            assertEquals(-1, mergedR.getCount(a));
        }

        IdCount[] top = dist.getTop(10);
        int j = 0;
        HashSet<Integer> avoidSet = new HashSet<Integer>();
View Full Code Here

Examples of org.encog.ml.hmm.distributions.DiscreteDistribution

      new HiddenMarkovModel(2, 2);
   
    hmm.setPi(0, 0.95);
    hmm.setPi(1, 0.05);
   
    hmm.setStateDistribution(0, new DiscreteDistribution(new double[][] { { 0.95, 0.05 } }));
    hmm.setStateDistribution(1, new DiscreteDistribution(new double[][] { { 0.20, 0.80 } }));
   
    hmm.setTransitionProbability(0, 1, 0.05);
    hmm.setTransitionProbability(0, 0, 0.95);
    hmm.setTransitionProbability(1, 0, 0.10);
    hmm.setTransitionProbability(1, 1, 0.90);
View Full Code Here

Examples of org.encog.ml.hmm.distributions.DiscreteDistribution

      new HiddenMarkovModel(2, 2);
   
    hmm.setPi(0, 0.95);
    hmm.setPi(1, 0.05);
   
    hmm.setStateDistribution(0, new DiscreteDistribution(new double[][] { { 0.95, 0.05 } }));
    hmm.setStateDistribution(1, new DiscreteDistribution(new double[][] { { 0.20, 0.80 } }));
   
    hmm.setTransitionProbability(0, 1, 0.05);
    hmm.setTransitionProbability(0, 0, 0.95);
    hmm.setTransitionProbability(1, 0, 0.10);
    hmm.setTransitionProbability(1, 1, 0.90);
View Full Code Here

Examples of org.encog.ml.hmm.distributions.DiscreteDistribution

    HiddenMarkovModel hmm = new HiddenMarkovModel(2,2);
   
    hmm.setPi(0, 0.50);
    hmm.setPi(1, 0.50);
   
    hmm.setStateDistribution(0, new DiscreteDistribution(new double[][] { { 0.8, 0.2 } }));
    hmm.setStateDistribution(1, new DiscreteDistribution(new double[][] { { 0.1, 0.9 } }));
   
    hmm.setTransitionProbability(0, 1, 0.2);
    hmm.setTransitionProbability(0, 0, 0.8);
    hmm.setTransitionProbability(1, 0, 0.2);
    hmm.setTransitionProbability(1, 1, 0.8);
View Full Code Here

Examples of org.encog.ml.hmm.distributions.DiscreteDistribution

    this.transitionProbability = new double[theStates][theStates];
    this.stateDistributions = new StateDistribution[theStates];

    for (int i = 0; i < theStates; i++) {
      this.pi[i] = 1. / theStates;
      this.stateDistributions[i] = new DiscreteDistribution(this.items);

      for (int j = 0; j < theStates; j++) {
        this.transitionProbability[i][j] = 1.0 / theStates;
      }
    }
View Full Code Here

Examples of org.encog.ml.hmm.distributions.DiscreteDistribution

  public StateDistribution createNewDistribution() {
    if (isContinuous()) {
      return new ContinousDistribution(getStateCount());
    } else {
      return new DiscreteDistribution(this.items);
    }
  }
View Full Code Here

Examples of org.encog.ml.hmm.distributions.DiscreteDistribution

          Matrix cova = section.parseMatrix(params, HiddenMarkovModel.TAG_COVARIANCE);
          ContinousDistribution dist = new ContinousDistribution(mean,cova.getData());
          distributions.add(dist);
        } else if( "DiscreteDistribution".equals(t) ) {
          Matrix prob = section.parseMatrix(params, HiddenMarkovModel.TAG_PROBABILITIES);
          DiscreteDistribution dist = new DiscreteDistribution(prob.getData());
          distributions.add(dist);
        }
      }
    }
   
View Full Code Here

Examples of org.encog.ml.hmm.distributions.DiscreteDistribution

        ContinousDistribution cDist = (ContinousDistribution)sd;
        out.writeProperty(HiddenMarkovModel.TAG_MEAN, cDist.getMean());
        out.writeProperty(HiddenMarkovModel.TAG_COVARIANCE, cDist.getCovariance());
       
      } else if( sd instanceof DiscreteDistribution ) {
        DiscreteDistribution dDist = (DiscreteDistribution)sd;
        out.writeProperty(HiddenMarkovModel.TAG_PROBABILITIES, new Matrix(dDist.getProbabilities()));
      }
    }

    out.flush();
  }
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.