Package org.apache.mahout.matrix

Examples of org.apache.mahout.matrix.Vector


      BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
          new FileOutputStream("testdata/clusters/part-00000"), Charset
              .forName("UTF-8")));

      for (int i = 0; i < k + 1; i++) {
        Vector vec = tweakValue(points.get(i));

        SoftCluster cluster = new SoftCluster(vec);
        // add the center so the centroid will be correct upon output
        cluster.addPoint(cluster.getCenter(), 1);
        writer.write(cluster.getIdentifier() + '\t'
View Full Code Here


      System.out.println("testKFuzzyKMeansMRJob k= " + k);
      // pick k initial cluster centers at random
      List<SoftCluster> clusterList = new ArrayList<SoftCluster>();

      for (int i = 0; i < k + 1; i++) {
        Vector vec = tweakValue(points.get(i));

        SoftCluster cluster = new SoftCluster(vec);
        cluster.addPoint(cluster.getCenter(), 1);
        clusterList.add(cluster);
      }
View Full Code Here

      System.out.println("testKFuzzyKMeansMRJob k= " + k);
      // pick k initial cluster centers at random
      List<SoftCluster> clusterList = new ArrayList<SoftCluster>();

      for (int i = 0; i < k + 1; i++) {
        Vector vec = tweakValue(points.get(i));

        SoftCluster cluster = new SoftCluster(vec);
        cluster.addPoint(cluster.getCenter(), 1);
        clusterList.add(cluster);
      }
View Full Code Here

      System.out.println("testKFuzzyKMeansMRJob k= " + k);
      // pick k initial cluster centers at random
      List<SoftCluster> clusterList = new ArrayList<SoftCluster>();

      for (int i = 0; i < k + 1; i++) {
        Vector vec = tweakValue(points.get(i));

        SoftCluster cluster = new SoftCluster(vec, i);
        // cluster.addPoint(cluster.getCenter(), 1);
        clusterList.add(cluster);
      }

      // run mapper
      FuzzyKMeansMapper mapper = new FuzzyKMeansMapper();
      mapper.config(clusterList);

      DummyOutputCollector<Text, Text> mapCollector = new DummyOutputCollector<Text, Text>();
      for (Vector point : points) {
        mapper.map(new Text(), new Text(point.asFormatString()), mapCollector,
            null);
      }

      // run combiner
      DummyOutputCollector<Text, Text> combinerCollector = new DummyOutputCollector<Text, Text>();
      FuzzyKMeansCombiner combiner = new FuzzyKMeansCombiner();

      for (String key : mapCollector.getKeys()) {

        List<Text> values = mapCollector.getValue(key);
        combiner.reduce(new Text(key), values.iterator(), combinerCollector,
            null);
      }

      // run reducer
      DummyOutputCollector<Text, Text> reducerCollector = new DummyOutputCollector<Text, Text>();
      FuzzyKMeansReducer reducer = new FuzzyKMeansReducer();
      reducer.config(clusterList);

      for (String key : combinerCollector.getKeys()) {
        List<Text> values = combinerCollector.getValue(key);
        reducer
            .reduce(new Text(key), values.iterator(), reducerCollector, null);
      }

      // now verify the reducer output
      assertEquals("Reducer Output", k + 1, combinerCollector.getData().size());

      // compute the reference result after one iteration and compare
      List<SoftCluster> reference = new ArrayList<SoftCluster>();
      for (int i = 0; i < k + 1; i++) {
        Vector vec = tweakValue(points.get(i));
        reference.add(new SoftCluster(vec, i));
      }
      iterateReference(points, reference, measure);
      for (SoftCluster key : reference) {
        String clusterId = key.getIdentifier();
View Full Code Here

      System.out.println("testKFuzzyKMeansMRJob k= " + k);
      // pick k initial cluster centers at random
      List<SoftCluster> clusterList = new ArrayList<SoftCluster>();

      for (int i = 0; i < k + 1; i++) {
        Vector vec = tweakValue(points.get(i));

        SoftCluster cluster = new SoftCluster(vec, i);
        cluster.addPoint(cluster.getCenter(), 1);
        clusterList.add(cluster);
      }

      // run mapper
      FuzzyKMeansMapper mapper = new FuzzyKMeansMapper();
      mapper.config(clusterList);

      DummyOutputCollector<Text, Text> mapCollector = new DummyOutputCollector<Text, Text>();
      for (Vector point : points) {
        mapper.map(new Text(), new Text(point.asFormatString()), mapCollector,
            null);
      }

      // run combiner
      DummyOutputCollector<Text, Text> combinerCollector = new DummyOutputCollector<Text, Text>();
      FuzzyKMeansCombiner combiner = new FuzzyKMeansCombiner();

      for (String key : mapCollector.getKeys()) {

        List<Text> values = mapCollector.getValue(key);
        combiner.reduce(new Text(key), values.iterator(), combinerCollector,
            null);
      }

      // run reducer
      DummyOutputCollector<Text, Text> reducerCollector = new DummyOutputCollector<Text, Text>();
      FuzzyKMeansReducer reducer = new FuzzyKMeansReducer();
      reducer.config(clusterList);

      for (String key : combinerCollector.getKeys()) {
        List<Text> values = combinerCollector.getValue(key);
        reducer
            .reduce(new Text(key), values.iterator(), reducerCollector, null);
      }

      // run clusterMapper
      List<SoftCluster> reducerCluster = new ArrayList<SoftCluster>();

      for (String key : reducerCollector.getKeys()) {
        List<Text> values = reducerCollector.getValue(key);
        reducerCluster.add(SoftCluster.decodeCluster(values.get(0).toString()));
      }

      DummyOutputCollector<Text, Text> clusterMapperCollector = new DummyOutputCollector<Text, Text>();
      FuzzyKMeansClusterMapper clusterMapper = new FuzzyKMeansClusterMapper();
      clusterMapper.config(reducerCluster);
      for (Vector point : points) {
        clusterMapper.map(new Text(), new Text(point.asFormatString()),
            clusterMapperCollector, null);
      }

      // now run for one iteration of referencefuzzykmeans and compare the
      // results
      // compute the reference result after one iteration and compare
      List<SoftCluster> reference = new ArrayList<SoftCluster>();
      for (int i = 0; i < k + 1; i++) {
        Vector vec = tweakValue(points.get(i));
        reference.add(new SoftCluster(vec, i));
      }
      Map<String, String> pointClusterInfo = new HashMap<String, String>();
      referenceFuzzyKMeans(points, reference, pointClusterInfo,
          EuclideanDistanceMeasure.class.getName(), 0.001, 1);
View Full Code Here

    }
  }

  public void testRmultinom1() {
    double[] b = { 0.4, 0.6 };
    Vector v = new DenseVector(b);
    Vector t = v.like();
    for (int i = 1; i <= 100; i++) {
      Vector multinom = UncommonDistributions.rMultinom(100, v);
      t = t.plus(multinom);
    }
    System.out.println("sum(rMultinom(" + 100 + ", [0.4, 0.6]))/100="
        + t.divide(100).asFormatString());
View Full Code Here

  }

  public void testRmultinom2() {
    double[] b = { 0.1, 0.2, 0.7 };
    Vector v = new DenseVector(b);
    Vector t = v.like();
    for (int i = 1; i <= 100; i++) {
      Vector multinom = UncommonDistributions.rMultinom(100, v);
      t = t.plus(multinom);
    }
    System.out.println("sum(rMultinom(" + 100 + ", [ 0.1, 0.2, 0.7 ]))/100="
        + t.divide(100).asFormatString());
View Full Code Here

  }

  public void testRmultinom() {
    double[] b = { 0.1, 0.2, 0.8 };
    Vector v = new DenseVector(b);
    for (int i = 1; i <= 100; i++)
      System.out.println("rMultinom(" + 100 + ", [0.1, 0.2, 0.8])="
          + UncommonDistributions.rMultinom(100, v).asFormatString());
  }
View Full Code Here

  }

  private static List<Vector> getPoints(double[][] raw) {
    List<Vector> points = new ArrayList<Vector>();
    for (double[] fr : raw) {
      Vector vec = new SparseVector(fr.length);
      vec.assign(fr);
      points.add(vec);
    }
    return points;
  }
View Full Code Here

  public static List<Vector> getPoints(double[][] raw) {
    List<Vector> points = new ArrayList<Vector>();
    for (int i = 0; i < raw.length; i++) {
      double[] fr = raw[i];
      Vector vec = new SparseVector(fr.length);
      vec.assign(fr);
      points.add(vec);
    }
    return points;
  }
View Full Code Here

TOP

Related Classes of org.apache.mahout.matrix.Vector

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.