@Override public SpatialClusters<?> create(byte[][] data) { if (this.precision == Precision.BYTE) { RandomSetByteClusterer c = null; c = new RandomSetByteClusterer(data[0].length, K); if (seed >= 0) c.setSeed(seed); System.err.printf("Building BYTE vocabulary tree\n"); return c.cluster(data); } else { RandomSetIntClusterer c = null; c = new RandomSetIntClusterer(data[0].length, K); if (seed >= 0) c.setSeed(seed); System.err.printf("Building INT vocabulary tree\n"); return c.cluster(ByteArrayConverter.byteToInt(data)); } }
@Override public SpatialClusters<?> create(List<SampleBatch> batches) throws Exception { if (this.precision == Precision.BYTE) { final SampleBatchByteDataSource ds = new SampleBatchByteDataSource(batches); ds.setSeed(seed); RandomSetByteClusterer c = null; c = new RandomSetByteClusterer(ds.numDimensions(), K); return c.cluster(ds); } else { final SampleBatchIntDataSource ds = new SampleBatchIntDataSource(batches); ds.setSeed(seed); RandomSetIntClusterer c = null; c = new RandomSetIntClusterer(ds.numDimensions(), K); return c.cluster(ds); } }