de.lmu.ifi.dbs.elki.database.relation.RelationUtil.computeMinMax()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(57)

本文整理了Java中de.lmu.ifi.dbs.elki.database.relation.RelationUtil.computeMinMax方法的一些代码示例,展示了RelationUtil.computeMinMax的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RelationUtil.computeMinMax方法的具体详情如下:
包路径:de.lmu.ifi.dbs.elki.database.relation.RelationUtil
类名称:RelationUtil
方法名:computeMinMax

RelationUtil.computeMinMax介绍

[英]Determines the minimum and maximum values in each dimension of all objects stored in the given database.
[中]确定存储在给定数据库中的所有对象的每个维度中的最小值和最大值。

代码示例

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki-clustering

@Override
public double[][] chooseInitialMeans(Database database, Relation<? extends NumberVector> relation, int k, NumberVectorDistanceFunction<?> distanceFunction) {
 double[][] minmax = RelationUtil.computeMinMax(relation);
 final int dim = minmax[0].length;
 double[] min = minmax[0], scale = minmax[1];
 for(int d = 0; d < dim; d++) {
  scale[d] = scale[d] - min[d];
 }
 double[][] means = new double[k][];
 final Random random = rnd.getSingleThreadedRandom();
 for(int i = 0; i < k; i++) {
  double[] r = new double[dim];
  for(int d = 0; d < dim; d++) {
   r[d] = min[d] + scale[d] * random.nextDouble();
  }
  means[i] = r;
 }
 return means;
}

代码示例来源:origin: elki-project/elki

@Override
public double[][] chooseInitialMeans(Database database, Relation<? extends NumberVector> relation, int k, NumberVectorDistanceFunction<?> distanceFunction) {
 double[][] minmax = RelationUtil.computeMinMax(relation);
 final int dim = minmax[0].length;
 double[] min = minmax[0], scale = minmax[1];
 for(int d = 0; d < dim; d++) {
  scale[d] = scale[d] - min[d];
 }
 double[][] means = new double[k][];
 final Random random = rnd.getSingleThreadedRandom();
 for(int i = 0; i < k; i++) {
  double[] r = new double[dim];
  for(int d = 0; d < dim; d++) {
   r[d] = min[d] + scale[d] * random.nextDouble();
  }
  means[i] = r;
 }
 return means;
}

代码示例来源:origin: elki-project/elki

/**
 * Add scales to a single vector relation.
 *
 * @param rel Relation
 * @return Scales
 */
private ScalesResult run(Relation<? extends NumberVector> rel) {
 double[][] mms = RelationUtil.computeMinMax(rel);
 int dim = mms[0].length;
 double delta = 0.;
 for(int d = 0; d < dim; d++) {
  double del = mms[1][d] - mms[0][d];
  delta = del > delta ? del : delta;
 }
 if(delta < Double.MIN_NORMAL) {
  delta = 1.;
 }
 int log10res = (int) Math.ceil(Math.log10(delta / (LinearScale.MAXTICKS - 1)));
 double res = MathUtil.powi(10, log10res);
 double target = Math.ceil(delta / res) * res; // Target width
 LinearScale[] scales = new LinearScale[dim];
 for(int d = 0; d < dim; d++) {
  double mid = (mms[0][d] + mms[1][d] - target) * .5;
  double min = Math.floor(mid / res) * res;
  double max = Math.ceil((mid + target) / res) * res;
  scales[d] = new LinearScale(min, max);
 }
 return new ScalesResult(scales);
}

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki

@Override
public Collection<? extends NumberVector> getReferencePoints(Relation<? extends NumberVector> db) {
 double[][] minmax = RelationUtil.computeMinMax(db);
 int dim = RelationUtil.dimensionality(db);
 // Compute mean and extend from minmax.
 double[] mean = minmax[0], delta = minmax[1];
 for(int d = 0; d < dim; d++) {
  delta[d] -= mean[d];
  mean[d] -= delta[d] * .5;
 }
 Random rand = rnd.getSingleThreadedRandom();
 ArrayList<Vector> result = new ArrayList<>(samplesize);
 double[] vec = new double[dim];
 for(int i = 0; i < samplesize; i++) {
  for(int d = 0; d < dim; d++) {
   vec[d] = mean[d] + (rand.nextDouble() - 0.5) * scale * delta[d];
  }
  Vector newp = new Vector(vec);
  result.add(newp);
 }
 return result;
}

代码示例来源:origin: elki-project/elki

@Override
public Collection<? extends NumberVector> getReferencePoints(Relation<? extends NumberVector> db) {
 double[][] minmax = RelationUtil.computeMinMax(db);
 int dim = RelationUtil.dimensionality(db);
 // Compute mean and extend from minmax.
 double[] mean = minmax[0], delta = minmax[1];
 for(int d = 0; d < dim; d++) {
  delta[d] -= mean[d];
  mean[d] -= delta[d] * .5;
 }
 Random rand = rnd.getSingleThreadedRandom();
 ArrayList<DoubleVector> result = new ArrayList<>(samplesize);
 for(int i = 0; i < samplesize; i++) {
  double[] vec = new double[dim];
  for(int d = 0; d < dim; d++) {
   vec[d] = mean[d] + (rand.nextDouble() - 0.5) * scale * delta[d];
  }
  result.add(DoubleVector.wrap(vec));
 }
 return result;
}

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki-core

@Override
public Collection<? extends NumberVector> getReferencePoints(Relation<? extends NumberVector> db) {
 double[][] minmax = RelationUtil.computeMinMax(db);
 int dim = RelationUtil.dimensionality(db);
 // Compute mean and extend from minmax.
 double[] mean = minmax[0], delta = minmax[1];
 for(int d = 0; d < dim; d++) {
  delta[d] -= mean[d];
  mean[d] -= delta[d] * .5;
 }
 Random rand = rnd.getSingleThreadedRandom();
 ArrayList<DoubleVector> result = new ArrayList<>(samplesize);
 for(int i = 0; i < samplesize; i++) {
  double[] vec = new double[dim];
  for(int d = 0; d < dim; d++) {
   vec[d] = mean[d] + (rand.nextDouble() - 0.5) * scale * delta[d];
  }
  result.add(DoubleVector.wrap(vec));
 }
 return result;
}

代码示例来源:origin: elki-project/elki

double[][] minmax = RelationUtil.computeMinMax(relation);
final double[] dmin = minmax[0], dmax = minmax[1];
for(int d = 0; d < dim; d++) {

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki

double[][] minmax = RelationUtil.computeMinMax(relation);
final double[] dmin = minmax[0], dmax = minmax[1];
for(int d = 0; d < dim; d++) {

代码示例来源:origin: elki-project/elki

@Override
public Collection<? extends NumberVector> getReferencePoints(Relation<? extends NumberVector> db) {
 double[][] minmax = RelationUtil.computeMinMax(db);
 int dim = RelationUtil.dimensionality(db);

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki

@Override
public <T extends NumberVector, V extends NumberVector> List<V> chooseInitialMeans(Database database, Relation<T> relation, int k, NumberVectorDistanceFunction<? super T> distanceFunction, NumberVector.Factory<V> factory) {
 final int dim = RelationUtil.dimensionality(relation);
 double[][] minmax = RelationUtil.computeMinMax(relation);
 double[] min = minmax[0], scale = minmax[1];
 for(int d = 0; d < dim; d++) {
  scale[d] = scale[d] - min[d];
 }
 List<V> means = new ArrayList<>(k);
 final Random random = rnd.getSingleThreadedRandom();
 for(int i = 0; i < k; i++) {
  double[] r = MathUtil.randomDoubleArray(dim, random);
  // Rescale
  for(int d = 0; d < dim; d++) {
   r[d] = min[d] + scale[d] * r[d];
  }
  means.add(factory.newNumberVector(r));
 }
 return means;
}

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki-core

@Override
public Collection<? extends NumberVector> getReferencePoints(Relation<? extends NumberVector> db) {
 double[][] minmax = RelationUtil.computeMinMax(db);
 int dim = RelationUtil.dimensionality(db);

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki

@Override
public Collection<? extends NumberVector> getReferencePoints(Relation<? extends NumberVector> db) {
 double[][] minmax = RelationUtil.computeMinMax(db);
 int dim = RelationUtil.dimensionality(db);

代码示例来源:origin: elki-project/elki

@Override
public Collection<? extends NumberVector> getReferencePoints(Relation<? extends NumberVector> db) {
 double[][] minmax = RelationUtil.computeMinMax(db);
 final int dim = minmax[0].length;

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki

@Override
public Collection<? extends NumberVector> getReferencePoints(Relation<? extends NumberVector> db) {
 double[][] minmax = RelationUtil.computeMinMax(db);
 final int dim = minmax[0].length;

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki-core

@Override
public Collection<? extends NumberVector> getReferencePoints(Relation<? extends NumberVector> db) {
 double[][] minmax = RelationUtil.computeMinMax(db);
 final int dim = minmax[0].length;

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki

double[][] mm = RelationUtil.computeMinMax(relation);
off = mm[0];
scale = mm[1];

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki

double[][] mm = RelationUtil.computeMinMax(relation);
off = mm[0]; scale = mm[1];
for (int d = 0; d < dim; d++) {

代码示例来源:origin: elki-project/elki

double[][] hbbs = RelationUtil.computeMinMax(relation);
min = hbbs[0];
max = hbbs[1];

代码示例来源:origin: de.lmu.ifi.dbs.elki/elki

double[][] mm = RelationUtil.computeMinMax(relation);
off = mm[0];
scale = mm[1];

代码示例来源:origin: elki-project/elki

double diameter = 0; // Actually "length of edge"
 double[][] hbbs = RelationUtil.computeMinMax(relation);
 min = hbbs[0];
 double[] max = hbbs[1];

相关文章