public class GeneratorMain extends Object
UnableToComplyException
is
thrown when the maximum number of retries is exceeded.
On the other hand, the model might not be exactly as specified. When the
generator reports an "Density correction factor estimation" that differs from
1.0 this is an indication that the result is not exact.
On the third hand, rejecting points introduces effects where one generator
can influence others, so random generator results will not be stable with
respect to the addition of new dimensions and similar if there are any
rejects involved. So this generator is not entirely optimal for generating
data sets for scalability tests on the number of dimensions, although if
clusters overlap little enough (so that no rejects happen) the results should
be as expected.Modifier and Type | Field and Description |
---|---|
protected ArrayList<GeneratorInterface> |
generators
List of clusters to generate.
|
private static Logging |
LOG
Class logger.
|
protected Pattern |
relabelClusters
Pattern, which clusters (e.g.
|
protected boolean |
testAgainstModel
Controls whether points are tested against the model during generation.
|
Constructor and Description |
---|
GeneratorMain() |
Modifier and Type | Method and Description |
---|---|
void |
addCluster(GeneratorInterface c)
Add a cluster to the cluster list.
|
MultipleObjectsBundle |
generate()
Main loop to generate data set.
|
List<GeneratorInterface> |
getGenerators()
Access the generators.
|
private void |
initLabelsAndModels(ArrayList<GeneratorInterface> generators,
ClassLabel[] labels,
Model[] models,
Pattern reassign)
Initialize cluster labels and models.
|
boolean |
isTestAgainstModel()
Return value of the
testAgainstModel flag. |
void |
setReassignPattern(Pattern reassign)
Set the reassignment pattern.
|
void |
setTestAgainstModel(boolean testAgainstModel)
Set the value of the
testAgainstModel flag. |
private static final Logging LOG
protected ArrayList<GeneratorInterface> generators
protected boolean testAgainstModel
protected Pattern relabelClusters
public void addCluster(GeneratorInterface c)
c
- cluster to addpublic MultipleObjectsBundle generate() throws UnableToComplyException
UnableToComplyException
- when model not satisfiable or no clusters
specified.private void initLabelsAndModels(ArrayList<GeneratorInterface> generators, ClassLabel[] labels, Model[] models, Pattern reassign)
generators
- Cluster generatorslabels
- Labels (output)models
- Models (output)reassign
- Pattern for clusters to reassign.public boolean isTestAgainstModel()
testAgainstModel
flag.public void setTestAgainstModel(boolean testAgainstModel)
testAgainstModel
flag.testAgainstModel
- New valuepublic List<GeneratorInterface> getGenerators()
public void setReassignPattern(Pattern reassign)
reassign
- Reassignment pattern.Copyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.