|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.lmu.ifi.dbs.elki.index.AbstractIndex<O> de.lmu.ifi.dbs.elki.index.preprocessed.AbstractPreprocessorIndex<NV,BitSet> de.lmu.ifi.dbs.elki.index.preprocessed.preference.AbstractPreferenceVectorIndex<V> de.lmu.ifi.dbs.elki.index.preprocessed.preference.DiSHPreferenceVectorIndex<V>
@Description(value="Computes the preference vector of objects of a certain database according to the DiSH algorithm.") public class DiSHPreferenceVectorIndex<V extends NumberVector<?,?>>
Preprocessor for DiSH preference vector assignment to objects of a certain database.
Nested Class Summary | |
---|---|
static class |
DiSHPreferenceVectorIndex.Factory<V extends NumberVector<?,?>>
Factory class |
static class |
DiSHPreferenceVectorIndex.Strategy
Available strategies for determination of the preference vector. |
Field Summary | |
---|---|
protected DoubleDistance[] |
epsilon
The epsilon value for each dimension; |
protected static Logging |
logger
Logger to use |
protected int |
minpts
Threshold for minimum number of points in the neighborhood. |
protected DiSHPreferenceVectorIndex.Strategy |
strategy
The strategy to determine the preference vector. |
Fields inherited from class de.lmu.ifi.dbs.elki.index.preprocessed.AbstractPreprocessorIndex |
---|
storage |
Fields inherited from class de.lmu.ifi.dbs.elki.index.AbstractIndex |
---|
relation |
Constructor Summary | |
---|---|
DiSHPreferenceVectorIndex(Relation<V> relation,
DoubleDistance[] epsilon,
int minpts,
DiSHPreferenceVectorIndex.Strategy strategy)
Constructor. |
Method Summary | |
---|---|
private BitSet |
determinePreferenceVector(Relation<V> relation,
ModifiableDBIDs[] neighborIDs,
StringBuffer msg)
Determines the preference vector according to the specified neighbor ids. |
private BitSet |
determinePreferenceVectorByApriori(Relation<V> relation,
ModifiableDBIDs[] neighborIDs,
StringBuffer msg)
Determines the preference vector with the apriori strategy. |
private BitSet |
determinePreferenceVectorByMaxIntersection(ModifiableDBIDs[] neighborIDs,
StringBuffer msg)
Determines the preference vector with the max intersection strategy. |
protected Logging |
getLogger()
Get the classes static logger. |
String |
getLongName()
A "pretty" name for the result, for use in titles, captions and menus. |
String |
getShortName()
A short name for the result, useful for file names. |
private RangeQuery<V,DoubleDistance>[] |
initRangeQueries(Relation<V> relation,
int dimensionality)
Initializes the dimension selecting distancefunctions to determine the preference vectors. |
private int |
max(Map<Integer,ModifiableDBIDs> candidates)
Returns the set with the maximum size contained in the specified map. |
private int |
maxIntersection(Map<Integer,ModifiableDBIDs> candidates,
DBIDs set,
ModifiableDBIDs result)
Returns the index of the set having the maximum intersection set with the specified set contained in the specified map. |
protected void |
preprocess()
Preprocessing step. |
Methods inherited from class de.lmu.ifi.dbs.elki.index.preprocessed.preference.AbstractPreferenceVectorIndex |
---|
getPreferenceVector |
Methods inherited from class de.lmu.ifi.dbs.elki.index.AbstractIndex |
---|
delete, deleteAll, getPageFileStatistics, insert, insertAll |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface de.lmu.ifi.dbs.elki.index.preprocessed.preference.PreferenceVectorIndex |
---|
getPreferenceVector |
Methods inherited from interface de.lmu.ifi.dbs.elki.index.Index |
---|
delete, deleteAll, getPageFileStatistics, insert, insertAll |
Field Detail |
---|
protected static final Logging logger
protected DoubleDistance[] epsilon
protected int minpts
protected DiSHPreferenceVectorIndex.Strategy strategy
Constructor Detail |
---|
public DiSHPreferenceVectorIndex(Relation<V> relation, DoubleDistance[] epsilon, int minpts, DiSHPreferenceVectorIndex.Strategy strategy)
relation
- Relation to useepsilon
- Epsilon valueminpts
- MinPts valuestrategy
- StrategyMethod Detail |
---|
protected void preprocess()
AbstractPreferenceVectorIndex
preprocess
in class AbstractPreferenceVectorIndex<V extends NumberVector<?,?>>
private BitSet determinePreferenceVector(Relation<V> relation, ModifiableDBIDs[] neighborIDs, StringBuffer msg) throws ParameterException, UnableToComplyException
relation
- the database storing the objectsneighborIDs
- the list of ids of the neighbors in each dimensionmsg
- a string buffer for debug messages
ParameterException
UnableToComplyException
private BitSet determinePreferenceVectorByApriori(Relation<V> relation, ModifiableDBIDs[] neighborIDs, StringBuffer msg) throws ParameterException, UnableToComplyException
relation
- the database storing the objectsneighborIDs
- the list of ids of the neighbors in each dimensionmsg
- a string buffer for debug messages
ParameterException
UnableToComplyException
private BitSet determinePreferenceVectorByMaxIntersection(ModifiableDBIDs[] neighborIDs, StringBuffer msg)
neighborIDs
- the list of ids of the neighbors in each dimensionmsg
- a string buffer for debug messages
private int max(Map<Integer,ModifiableDBIDs> candidates)
candidates
- the map containing the sets
private int maxIntersection(Map<Integer,ModifiableDBIDs> candidates, DBIDs set, ModifiableDBIDs result)
candidates
- the map containing the setsset
- the set to intersect withresult
- the set to put the result in
private RangeQuery<V,DoubleDistance>[] initRangeQueries(Relation<V> relation, int dimensionality) throws ParameterException
relation
- the database storing the objectsdimensionality
- the dimensionality of the objects
ParameterException
protected Logging getLogger()
AbstractPreprocessorIndex
getLogger
in class AbstractPreprocessorIndex<V extends NumberVector<?,?>,BitSet>
public String getLongName()
Result
getLongName
in interface Result
getLongName
in class AbstractIndex<V extends NumberVector<?,?>>
public String getShortName()
Result
getShortName
in interface Result
getShortName
in class AbstractIndex<V extends NumberVector<?,?>>
|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |