Package de.jungblut.math.dense

Examples of de.jungblut.math.dense.DenseDoubleVector


public class VectorFunnelTest {

  @Test
  public void testDenseFunneling() {
    VectorFunnel funnel = new VectorFunnel();
    DenseDoubleVector vec = new DenseDoubleVector(new double[] { 1, 1 });
    long hash = Hashing.murmur3_128().newHasher().putObject(vec, funnel).hash()
        .asLong();
    assertEquals(4270060439366700849L, hash);
  }
View Full Code Here


  @Test
  public void testDBSCAN() {
    ArrayList<DoubleVector> input = KMeansClusteringTest.getClusteringInput(10,
        10);
    // add some noise!
    input.add(new DenseDoubleVector(new double[] { 2000, 2000 }));

    EuclidianDistance measure = new EuclidianDistance();

    DBSCAN scan = new DBSCAN();
    ArrayList<DoubleVector>[] cluster = scan.cluster(input, measure, 5, 100);
View Full Code Here

public class AgglomerativeClusteringTest {

  @Test
  public void testClustering() {
    ArrayList<DoubleVector> vecs = new ArrayList<>();
    vecs.add(new DenseDoubleVector(new double[] { 0, 5 }));
    vecs.add(new DenseDoubleVector(new double[] { 0, 6 }));
    vecs.add(new DenseDoubleVector(new double[] { 6, 5 }));
    vecs.add(new DenseDoubleVector(new double[] { 6, 6 }));
    vecs.add(new DenseDoubleVector(new double[] { 10, 10 }));
    vecs.add(new DenseDoubleVector(new double[] { 5, 0 }));

    HashMultimap<Integer, double[]> result = HashMultimap.create();
    result.put(0, new double[] { 5.25, 5.25 });
    result.put(1, new double[] { 3.0, 5.5 });
    result.put(1, new double[] { 7.5, 5.0 });
View Full Code Here

  @Test
  public void testStratifiedSplits_50_50() {

    for (int i = 0; i < outcome.length; i++) {
      outcome[i] = new DenseDoubleVector(1);
      outcome[i].set(0, i % 2 == 0 ? 1d : 0d);
    }
    EvaluationSplit split = EvaluationSplit.createStratified(feats, outcome,
        0.5f, false);
View Full Code Here

  @Test
  public void testStratifiedSplits_25_75() {

    for (int i = 0; i < outcome.length; i++) {
      outcome[i] = new DenseDoubleVector(1);
      outcome[i].set(0, i < 25 ? 1d : 0d);
    }
    EvaluationSplit split = EvaluationSplit.createStratified(feats, outcome,
        0.8f, false);
View Full Code Here

  }

  @Test
  public void testStratifiedSplits_1_99() {
    for (int i = 0; i < outcome.length; i++) {
      outcome[i] = new DenseDoubleVector(1);
      outcome[i].set(0, i < 1 ? 1d : 0d);
    }
    exception.expect(IllegalArgumentException.class);
    EvaluationSplit.createStratified(feats, outcome, 0.5f, false);
  }
View Full Code Here

  }

  @Test
  public void testStratifiedSplits_2_98() {
    for (int i = 0; i < outcome.length; i++) {
      outcome[i] = new DenseDoubleVector(1);
      outcome[i].set(0, i < 2 ? 1d : 0d);
    }
    EvaluationSplit split = EvaluationSplit.createStratified(feats, outcome,
        0.5f, false);
View Full Code Here

public class VectorWritableTest {

  @Test
  public void testDenseSerDe() throws Exception {
    DenseDoubleVector vec = new DenseDoubleVector(new double[] { 1, 2, 3 });
    DoubleVector check = check(vec);
    assertTrue(check instanceof DenseDoubleVector);
  }
View Full Code Here

   *          maxIterations.
   */
  public String[] startStaticThresholding(double similarityThreshold,
      int maxIterations, boolean verbose) {

    DenseDoubleVector relevanceScore = computeRelevanceScore(seedIndices);
    // we start by using all seed tokens, no matter what score they have
    int[] relevantTokens = filterRelevantItems(relevanceScore, 0.0d);

    int iteration = 0;
    while (true) {

      DenseDoubleVector similarityScore = computeRelevanceScore(relevantTokens);
      DoubleVector rankedTokens = rankScores(alpha, relevanceScore,
          similarityScore);
      int[] topRankedItems = getTopRankedItems(rankedTokens,
          similarityThreshold);

View Full Code Here

   *         encapsulates the relevance described in the paper as
   *         S_rel(TERM_AT_INDEX_i,S)
   */
  private DenseDoubleVector computeRelevanceScore(int[] seedSet) {
    final int termsLength = termNodes.length;
    final DenseDoubleVector relevanceScores = new DenseDoubleVector(termsLength);

    final double constantLoss = 1.0d / seedSet.length;

    for (int i = 0; i < termsLength; i++) {
      double sum = 0.0d;
      for (int j : seedSet) {
        DoubleVector columnVectorI = weightMatrix.getColumnVector(i);
        DoubleVector columnVectorJ = weightMatrix.getColumnVector(j);
        double similarity = 0.0d;
        if (columnVectorI != null && columnVectorJ != null) {
          similarity = similarityMeasurer.measureSimilarity(columnVectorI,
              columnVectorJ);
        }
        sum += similarity;
      }
      relevanceScores.set(i, constantLoss * sum);
    }

    return relevanceScores;
  }
View Full Code Here

TOP

Related Classes of de.jungblut.math.dense.DenseDoubleVector

Copyright © 2018 www.massapicom. 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.