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

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

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

RelationUtil.getNumberVectorFactory介绍

[英]Get the number vector factory of a database relation.
[中]获取数据库关系的数字向量工厂。

代码示例

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

/**
 * Get the mean as vector.
 * 
 * @param relation Data relation
 * @param <F> vector type
 * @return Mean vector
 */
public <F extends NumberVector> F getMeanVector(Relation<? extends F> relation) {
 return RelationUtil.getNumberVectorFactory(relation).newNumberVector(mean);
}

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

/**
 * Get the mean as vector.
 * 
 * @param relation Data relation
 * @param <F> vector type
 * @return Mean vector
 */
public <F extends NumberVector> F getMeanVector(Relation<? extends F> relation) {
 return RelationUtil.getNumberVectorFactory(relation).newNumberVector(mean);
}

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

/**
 * Get the mean as vector.
 * 
 * @param relation Data relation
 * @param <F> vector type
 * @return Mean vector
 */
public <F extends NumberVector> F getMeanVector(Relation<? extends F> relation) {
 return RelationUtil.getNumberVectorFactory(relation).newNumberVector(mean);
}

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

/**
 * Get the data as vector.
 * 
 * @param relation Data relation
 * @param <F> vector type
 * @return the data
 */
public <F extends NumberVector> F toVector(Relation<? extends F> relation) {
 return RelationUtil.getNumberVectorFactory(relation).newNumberVector(elements);
}

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

/**
 * Initializes the list of seeds wit a random sample of size k.
 * 
 * @param database the database holding the objects
 * @param k the size of the random sample
 * @return the initial seed list
 */
private List<ORCLUSCluster> initialSeeds(Relation<V> database, int k) {
 DBIDs randomSample = DBIDUtil.randomSample(database.getDBIDs(), k, rnd);
 NumberVector.Factory<V> factory = RelationUtil.getNumberVectorFactory(database);
 List<ORCLUSCluster> seeds = new ArrayList<>();
 for(DBIDIter iter = randomSample.iter(); iter.valid(); iter.advance()) {
  seeds.add(new ORCLUSCluster(database.get(iter), iter, factory));
 }
 return seeds;
}

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

final int dim = (odim < 0) ? idim : odim;
final int[] permutation = range(0, dim);
NumberVector.Factory<O> factory = RelationUtil.getNumberVectorFactory(relation);
final double[] mms = new double[odim << 1];

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

final int dim = (odim < 0) ? idim : odim;
final int[] permutation = range(0, dim);
NumberVector.Factory<O> factory = RelationUtil.getNumberVectorFactory(relation);
final double[] mms = new double[odim << 1];

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

NumberVector.Factory<V> factory = RelationUtil.getNumberVectorFactory(database);

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

final int dim = (odim < 0) ? idim : odim;
final int[] permutation = range(0, dim);
NumberVector.Factory<O> factory = RelationUtil.getNumberVectorFactory(relation);
final double[] mms = new double[odim << 1];

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

/**
 * Computes the projected energy of the specified clusters. The projected
 * energy is given by the mean square distance of the points to the centroid
 * of the union cluster c, when all points in c are projected to the subspace
 * of c.
 * 
 * @param database the database holding the objects
 * @param distFunc the distance function
 * @param c_i the first cluster
 * @param c_j the second cluster
 * @param i the index of cluster c_i in the cluster list
 * @param j the index of cluster c_j in the cluster list
 * @param dim the dimensionality of the clusters
 * @return the projected energy of the specified cluster
 */
private ProjectedEnergy projectedEnergy(Relation<V> database, DistanceQuery<V> distFunc, ORCLUSCluster c_i, ORCLUSCluster c_j, int i, int j, int dim) {
 // union of cluster c_i and c_j
 ORCLUSCluster c_ij = union(database, distFunc, c_i, c_j, dim);
 NumberVector.Factory<V> factory = RelationUtil.getNumberVectorFactory(database);
 double sum = 0.;
 V c_proj = projection(c_ij, c_ij.centroid, factory);
 for(DBIDIter iter = c_ij.objectIDs.iter(); iter.valid(); iter.advance()) {
  V o_proj = projection(c_ij, database.get(iter), factory);
  double dist = distFunc.distance(o_proj, c_proj);
  sum += dist * dist;
 }
 sum /= c_ij.objectIDs.size();
 return new ProjectedEnergy(i, j, c_ij, sum);
}

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

/**
 * Prescale each vector (except when in {@code skip}) with the given scaling
 * function.
 *
 * @param scaling Scaling function
 * @param relation Relation to read
 * @param skip DBIDs to pass unmodified
 * @return New relation
 */
public static Relation<NumberVector> applyPrescaling(ScalingFunction scaling, Relation<NumberVector> relation, DBIDs skip) {
 if(scaling == null) {
  return relation;
 }
 NumberVector.Factory<NumberVector> factory = RelationUtil.getNumberVectorFactory(relation);
 DBIDs ids = relation.getDBIDs();
 WritableDataStore<NumberVector> contents = DataStoreUtil.makeStorage(ids, DataStoreFactory.HINT_HOT, NumberVector.class);
 for(DBIDIter iter = ids.iter(); iter.valid(); iter.advance()) {
  NumberVector v = relation.get(iter);
  double[] raw = v.getColumnVector().getArrayRef();
  if(!skip.contains(iter)) {
   applyScaling(raw, scaling);
  }
  contents.put(iter, factory.newNumberVector(raw, ArrayLikeUtil.DOUBLEARRAYADAPTER));
 }
 return new MaterializedRelation<>(relation.getDataTypeInformation(), ids, "rescaled", contents);
}

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

/**
 * Prescale each vector (except when in {@code skip}) with the given scaling
 * function.
 *
 * @param scaling Scaling function
 * @param relation Relation to read
 * @param skip DBIDs to pass unmodified
 * @return New relation
 */
public static Relation<NumberVector> applyPrescaling(ScalingFunction scaling, Relation<NumberVector> relation, DBIDs skip) {
 if(scaling == null) {
  return relation;
 }
 NumberVector.Factory<NumberVector> factory = RelationUtil.getNumberVectorFactory(relation);
 DBIDs ids = relation.getDBIDs();
 WritableDataStore<NumberVector> contents = DataStoreUtil.makeStorage(ids, DataStoreFactory.HINT_HOT, NumberVector.class);
 for(DBIDIter iter = ids.iter(); iter.valid(); iter.advance()) {
  NumberVector v = relation.get(iter);
  double[] raw = v.toArray();
  if(!skip.contains(iter)) {
   applyScaling(raw, scaling);
  }
  contents.put(iter, factory.newNumberVector(raw, ArrayLikeUtil.DOUBLEARRAYADAPTER));
 }
 return new MaterializedRelation<>(relation.getDataTypeInformation(), ids, "rescaled", contents);
}

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

NumberVector.Factory<O> ofactory = RelationUtil.getNumberVectorFactory(relation);
int dim = RelationUtil.dimensionality(relation);

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

NumberVector.Factory<O> ofactory = RelationUtil.getNumberVectorFactory(relation);
int dim = RelationUtil.dimensionality(relation);

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

final DistanceQuery<V> distq = database.getDistanceQuery(relation, getDistanceFunction());
final RangeQuery<V> rangeq = database.getRangeQuery(distq);
final NumberVector.Factory<V> factory = RelationUtil.getNumberVectorFactory(relation);
final int dim = RelationUtil.dimensionality(relation);

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

final DistanceQuery<V> distq = database.getDistanceQuery(relation, getDistanceFunction());
final RangeQuery<V> rangeq = database.getRangeQuery(distq);
final NumberVector.Factory<V> factory = RelationUtil.getNumberVectorFactory(relation);
final int dim = RelationUtil.dimensionality(relation);

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

NumberVector.Factory<V> factory = RelationUtil.getNumberVectorFactory(relation);
V centroidDV = factory.newNumberVector(centroid.getArrayRef());
DBIDs ids;

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

NumberVector.Factory<V> factory = RelationUtil.getNumberVectorFactory(relation);
Vector cent = c1.centroid.getColumnVector().plusEquals(c2.centroid.getColumnVector()).timesEquals(0.5);
c.centroid = factory.newNumberVector(cent.getArrayRef());

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

NumberVector.Factory<DoubleVector> o = RelationUtil.getNumberVectorFactory(rep);
int dim = RelationUtil.dimensionality(rep);
Random random = new Random(seed);

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

NumberVector.Factory<DoubleVector> o = RelationUtil.getNumberVectorFactory(rep);
int dim = RelationUtil.dimensionality(rep);
Random random = new Random(seed);

相关文章