本文整理了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
[英]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);
内容来源于网络,如有侵权,请联系作者删除!