Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.application.visualization
Class KNNExplorer<O extends NumberVector<?,?>,D extends NumberDistance<D,N>,N extends Number>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.logging.AbstractLoggable
      extended by de.lmu.ifi.dbs.elki.application.AbstractApplication
          extended by de.lmu.ifi.dbs.elki.application.visualization.KNNExplorer<O,D,N>
Type Parameters:
O - Object type
D - Distance type
N - Number type
All Implemented Interfaces:
Parameterizable

@Reference(authors="E. Achtert, T. Bernecker, H.-P. Kriegel, E. Schubert, A. Zimek",
           title="ELKI in Time: ELKI 0.2 for the Performance Evaluation of Distance Measures for Time Series",
           booktitle="Proceedings of the 11th International Symposium on Spatial and Temporal Databases (SSTD), Aalborg, Denmark, 2009",
           url="http://dx.doi.org/10.1007/978-3-642-02982-0_35")
public class KNNExplorer<O extends NumberVector<?,?>,D extends NumberDistance<D,N>,N extends Number>
extends AbstractApplication

User application to explore the k Nearest Neighbors for a given data set and distance function. When selecting one or more data entries, the nearest neighbors each are determined and visualized.

Reference:
Elke Achtert, Thomas Bernecker, Hans-Peter Kriegel, Erich Schubert, Arthur Zimek:
ELKI in Time: ELKI 0.2 for the Performance Evaluation of Distance Measures for Time Series.
In Proc. 11th International Symposium on Spatial and Temporal Databases (SSTD 2009), Aalborg, Denmark, 2009.

Usage example:

Main invocation:
java -cp elki.jar de.lmu.ifi.dbs.elki.visualization.KNNExplorer

The application supports the usual parameterization, in particular parameters -dbc.in and -explorer.distancefunction to select an input file and the distance function to explore.

Author:
Erich Schubert

Nested Class Summary
(package private)  class KNNExplorer.ExplorerWindow
          Main window of KNN Explorer.
 
Field Summary
private  ObjectParameter<DatabaseConnection<O>> DATABASE_CONNECTION_PARAM
          Parameter to specify the database connection to be used, must extend DatabaseConnection.
private  DatabaseConnection<O> databaseConnection
          Holds the database connection to have the algorithm run with.
static OptionID DISTANCE_FUNCTION_ID
          OptionID for DISTANCE_FUNCTION_PARAM
protected  ClassParameter<DistanceFunction<O,D>> DISTANCE_FUNCTION_PARAM
          Parameter to specify the distance function to determine the distance between database objects, must extend DistanceFunction.
private  DistanceFunction<O,D> distanceFunction
          Holds the instance of the distance function specified by DISTANCE_FUNCTION_PARAM.
private  Normalization<O> normalization
          A normalization - per default no normalization is used.
private  ObjectParameter<Normalization<O>> NORMALIZATION_PARAM
          Optional Parameter to specify a normalization in order to use a database with normalized values.
 
Fields inherited from class de.lmu.ifi.dbs.elki.application.AbstractApplication
config, INFORMATION, STATIC_LOGGER
 
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debug, logger
 
Constructor Summary
KNNExplorer(Parameterization config)
          Constructor, adhering to Parameterizable
 
Method Summary
static void main(String[] args)
          Main method to run this wrapper.
 void run()
          Runs the application.
 
Methods inherited from class de.lmu.ifi.dbs.elki.application.AbstractApplication
isVerbose, printErrorMessage, runCLIApplication, usage
 
Methods inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debugFine, debugFiner, debugFinest, exception, progress, verbose, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DATABASE_CONNECTION_PARAM

private final ObjectParameter<DatabaseConnection<O extends NumberVector<?,?>>> DATABASE_CONNECTION_PARAM
Parameter to specify the database connection to be used, must extend DatabaseConnection.

Key: -dbc

Default value: FileBasedDatabaseConnection


NORMALIZATION_PARAM

private final ObjectParameter<Normalization<O extends NumberVector<?,?>>> NORMALIZATION_PARAM
Optional Parameter to specify a normalization in order to use a database with normalized values.

Key: -norm


DISTANCE_FUNCTION_ID

public static final OptionID DISTANCE_FUNCTION_ID
OptionID for DISTANCE_FUNCTION_PARAM


DISTANCE_FUNCTION_PARAM

protected final ClassParameter<DistanceFunction<O extends NumberVector<?,?>,D extends NumberDistance<D,N>>> DISTANCE_FUNCTION_PARAM
Parameter to specify the distance function to determine the distance between database objects, must extend DistanceFunction.

Key: -explorer.distancefunction

Default value: EuclideanDistanceFunction


databaseConnection

private DatabaseConnection<O extends NumberVector<?,?>> databaseConnection
Holds the database connection to have the algorithm run with.


distanceFunction

private DistanceFunction<O extends NumberVector<?,?>,D extends NumberDistance<D,N>> distanceFunction
Holds the instance of the distance function specified by DISTANCE_FUNCTION_PARAM.


normalization

private Normalization<O extends NumberVector<?,?>> normalization
A normalization - per default no normalization is used.

Constructor Detail

KNNExplorer

public KNNExplorer(Parameterization config)
Constructor, adhering to Parameterizable

Parameters:
config - Parameterization
Method Detail

run

public void run()
         throws IllegalStateException
Description copied from class: AbstractApplication
Runs the application.

Specified by:
run in class AbstractApplication
Throws:
IllegalStateException

main

public static void main(String[] args)
Main method to run this wrapper.

Parameters:
args - the arguments to run this wrapper

Release 0.3 (2010-03-31_1612)