|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.lmu.ifi.dbs.elki.data.synthetic.bymodel.GeneratorMain
public class GeneratorMain
Generate a data set according to a given model.
Key idea of this generator is to re-generate points if they are more likely
to belong to a different cluster than the one they were generated for. The
benefit is that we should end up with a data set that follows closely the
model that we specified.
The drawbacks are that on one hand, specifications might be unsatisfiable.
For this a retry count is kept and an 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.
Field Summary | |
---|---|
private LinkedList<GeneratorInterface> |
generators
List of clusters to generate |
private boolean |
testAgainstModel
Controls whether points are tested against the model during generation |
Constructor Summary | |
---|---|
GeneratorMain()
|
Method Summary | |
---|---|
void |
addCluster(GeneratorInterface c)
Add a cluster to the cluster list. |
void |
generate()
Main loop to generate data set. |
MultipleObjectsBundle |
getBundle()
Get the objects bundle |
List<GeneratorInterface> |
getGenerators()
Access the generators. |
boolean |
isTestAgainstModel()
Return value of the testAgainstModel flag |
void |
setTestAgainstModel(boolean testAgainstModel)
Set the value of the testAgainstModel flag |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private LinkedList<GeneratorInterface> generators
private boolean testAgainstModel
Constructor Detail |
---|
public GeneratorMain()
Method Detail |
---|
public void addCluster(GeneratorInterface c)
c
- cluster to addpublic void generate() throws UnableToComplyException
UnableToComplyException
- when model not satisfiable or no clusters
specified.public boolean isTestAgainstModel()
testAgainstModel
flag
public void setTestAgainstModel(boolean testAgainstModel)
testAgainstModel
flag
testAgainstModel
- New valuepublic List<GeneratorInterface> getGenerators()
public MultipleObjectsBundle getBundle()
|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |