Package de.jungblut.math.dense

Examples of de.jungblut.math.dense.DenseDoubleVector


  public static ArrayList<DoubleVector> getClusteringInput(int x, int y) {
    ArrayList<DoubleVector> lst = new ArrayList<>();
    for (int i = 0; i < x; i++) {
      for (int j = 0; j < y; j++) {
        lst.add(new DenseDoubleVector(new double[] { i, j }));
      }
    }
    return lst;
  }
View Full Code Here


    for (int i = 0; i < firstRow.length; i++) {
      assertEquals("" + Arrays.toString(secondRow), realSecondRow[i],
          secondRow[i], 0.05d);
    }

    DoubleVector claz = classifier.predict(new DenseDoubleVector(new double[] {
        1, 0, 0, 0, 0 }));
    assertEquals("" + claz, 0, claz.get(0), 0.05d);
    assertEquals("" + claz, 1, claz.get(1), 0.05d);

    claz = classifier.predict(new DenseDoubleVector(new double[] { 0, 0, 0, 1,
        1 }));
    assertEquals("" + claz, 1, claz.get(0), 0.05d);
    assertEquals("" + claz, 0, claz.get(1), 0.05d);
  }
View Full Code Here

    reg.train(data);

    double loss = 0d;
    for (Tuple<DoubleVector, DoubleVector> dx : data) {
      DoubleVector prediction = reg.predict(dx.getFirst());
      prediction = new DenseDoubleVector(
          prediction.apply(new DoubleVectorFunction() {

            @Override
            public double calculate(int index, double value) {
              return value > 0.5 ? 1d : 0d;
View Full Code Here

        new SparseDoubleVector(new double[] { 1, 0, 0, 0, 0 }),
        new SparseDoubleVector(new double[] { 1, 1, 0, 0, 0 }),
        new SparseDoubleVector(new double[] { 0, 0, 1, 1, 1 }),
        new SparseDoubleVector(new double[] { 0, 0, 0, 1, 1 }), };
    DenseDoubleVector[] outcome = new DenseDoubleVector[] {
        new DenseDoubleVector(new double[] { 1 }),
        new DenseDoubleVector(new double[] { 1 }),
        new DenseDoubleVector(new double[] { 1 }),
        new DenseDoubleVector(new double[] { 0 }),
        new DenseDoubleVector(new double[] { 0 }), };
    classifier.train(features, outcome);
    return classifier;
  }
View Full Code Here

    reg.train(data);

    double loss = 0d;
    for (Tuple<DoubleVector, DoubleVector> dx : data) {
      DoubleVector prediction = reg.predict(dx.getFirst());
      prediction = new DenseDoubleVector(
          prediction.apply(new DoubleVectorFunction() {

            @Override
            public double calculate(int index, double value) {
              return value > 0.5 ? 1d : 0d;
View Full Code Here

  }

  public ArrayList<Tuple<DoubleVector, DoubleVector>> getData() {
    ArrayList<Tuple<DoubleVector, DoubleVector>> stream = new ArrayList<>();
    // that is an extremely simple linear testcase
    stream.add(new Tuple<DoubleVector, DoubleVector>(new DenseDoubleVector(
        new double[] { 1d, 0d, 0d, 0d, 0d }), new DenseDoubleVector(
        new double[] { 1d, 1d, 0d, 0d, 0d })));
    stream.add(new Tuple<DoubleVector, DoubleVector>(new DenseDoubleVector(
        new double[] { 0d, 1d, 0d, 0d, 0d }), new DenseDoubleVector(
        new double[] { 1d, 0d, 0d, 0d, 1d })));
    stream.add(new Tuple<DoubleVector, DoubleVector>(new DenseDoubleVector(
        new double[] { 0d, 0d, 1d, 0d, 0d }), new DenseDoubleVector(
        new double[] { 0d, 0d, 1d, 0d, 0d })));
    stream.add(new Tuple<DoubleVector, DoubleVector>(new DenseDoubleVector(
        new double[] { 0d, 0d, 1d, 1d, 0d }), new DenseDoubleVector(
        new double[] { 0d, 0d, 1d, 1d, 0d })));
    return stream;
  }
View Full Code Here

    }
    double maxRadius = new EuclidianDistance().measureDistance(
        new double[] { 250 }, new double[] { 351 });

    List<VectorDistanceTuple<Integer>> neighbours = kdTree
        .getNearestNeighbours(new DenseDoubleVector(new double[] { 250 }),
            maxRadius);
    for (VectorDistanceTuple<Integer> x : neighbours) {
      lefts.remove(x.getVector());
    }
    assertEquals(0, lefts.size());
View Full Code Here

    for (int i = 0; i < 50; i++) {
      double nextGaussian1 = random.nextGaussian(mean1, Math.sqrt(100));
      assertTrue(nextGaussian1 >= 150 && nextGaussian1 <= 350);
      double nextGaussian2 = random.nextGaussian(mean2, Math.sqrt(100));
      assertTrue(nextGaussian2 >= 650 && nextGaussian2 <= 850);
      DenseDoubleVector lef = new DenseDoubleVector(
          new double[] { nextGaussian1 });
      lst.add(lef);
      if (leftDistribution != null) {
        leftDistribution.add(lef);
      }
      lst.add(new DenseDoubleVector(new double[] { nextGaussian2 }));
    }

    return lst;
  }
View Full Code Here

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

    EuclidianDistance measure = new EuclidianDistance();

    List<List<DoubleVector>> cluster = DBSCANClustering.cluster(input, measure,
        5, 100d);
View Full Code Here

  public void testMeanNormalizeRows() {
    DoubleMatrix mat = new DenseDoubleMatrix(new double[][] { { 2, 5 },
        { 5, 1 }, { 7, 25 } });
    Tuple<DoubleMatrix, DoubleVector> normal = MathUtils.meanNormalizeRows(mat);
    DoubleVector mean = normal.getSecond();
    assertSmallDiff(mean, new DenseDoubleVector(new double[] { 3.5d, 3d, 16d }));
    DoubleMatrix meanNormalizedMatrix = normal.getFirst();
    DoubleMatrix matNormal = new DenseDoubleMatrix(new double[][] {
        { -1.5, 1.5 }, { 2, -2 }, { -9, 9 } });
    for (int i = 0; i < 3; i++) {
      assertSmallDiff(meanNormalizedMatrix.getRowVector(i),
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.