com.rapidminer.operator.clustering.clusterer
Class SVClustering

java.lang.Object
  extended by com.rapidminer.tools.AbstractObservable<Operator>
      extended by com.rapidminer.operator.Operator
          extended by com.rapidminer.operator.clustering.clusterer.AbstractClusterer
              extended by com.rapidminer.operator.clustering.clusterer.RMAbstractClusterer
                  extended by com.rapidminer.operator.clustering.clusterer.SVClustering
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ResourceConsumer, CapabilityProvider, ParameterHandler, LoggingHandler, Observable<Operator>

public class SVClustering
extends RMAbstractClusterer
implements CapabilityProvider

An implementation of Support Vector Clustering based on [BenHur/etal/2001a]. This operator will create a cluster attribute if not present yet.

Author:
Stefan Rueping, Ingo Mierswa, Michael Wurst, Sebastian Land

Field Summary
static int KERNEL_DOT
          Indicates a linear kernel.
static int KERNEL_NEURAL
          Indicates a neural net kernel.
static int KERNEL_POLYNOMIAL
          Indicates a polynomial kernel.
static int KERNEL_RADIAL
          Indicates a rbf kernel.
static java.lang.String MIN_PTS_NAME
           
static int NOISE
           
static java.lang.String NOISE_CLUSTER_DESCRIPTION
           
static java.lang.String PARAMETER_CONVERGENCE_EPSILON
          The parameter name for "Precision on the KKT conditions"
static java.lang.String PARAMETER_KERNEL_A
          The parameter name for "The SVM kernel parameter a (neural).
static java.lang.String PARAMETER_KERNEL_B
          The parameter name for "The SVM kernel parameter b (neural).
static java.lang.String PARAMETER_KERNEL_CACHE
          The parameter name for "Size of the cache for kernel evaluations im MB "
static java.lang.String PARAMETER_KERNEL_DEGREE
          The parameter name for "The SVM kernel parameter degree (polynomial).
static java.lang.String PARAMETER_KERNEL_GAMMA
          The parameter name for "The SVM kernel parameter gamma (radial).
static java.lang.String PARAMETER_KERNEL_TYPE
          The parameter name for "The SVM kernel type"
static java.lang.String PARAMETER_MAX_ITERATIONS
          The parameter name for "Stop after this many iterations"
static java.lang.String PARAMETER_NUMBER_SAMPLE_POINTS
          The parameter name for "The number of virtual sample points to check for neighborship.
static java.lang.String PARAMETER_P
          The parameter name for "The fraction of allowed outliers.
static java.lang.String PARAMETER_R
          The parameter name for "Use this radius instead of the calculated one (-1 for calculated radius).
protected static int UNASSIGNED
           
 
Fields inherited from class com.rapidminer.operator.clustering.clusterer.RMAbstractClusterer
PARAMETER_ADD_AS_LABEL, PARAMETER_ADD_CLUSTER_ATTRIBUTE, PARAMETER_REMOVE_UNLABELED
 
Fields inherited from interface com.rapidminer.operator.learner.CapabilityProvider
PROPERTY_RAPIDMINER_GENERAL_CAPABILITIES_WARN
 
Constructor Summary
SVClustering(OperatorDescription description)
           
 
Method Summary
static Kernel createKernel(int kernelType)
          Creates a new kernel of the given type.
 ClusterModel generateClusterModel(ExampleSet exampleSet)
          Generates a cluster model from an example set.
protected  java.util.LinkedList<java.lang.Integer> getNeighbours(ExampleSet exampleSet, Example centroid, int centroidIndex, int[] assignments, SVClusteringAlgorithm clustering)
           
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 boolean supportsCapability(OperatorCapability capability)
          Checks for Learner capabilities.
 
Methods inherited from class com.rapidminer.operator.clustering.clusterer.RMAbstractClusterer
addsClusterAttribute, addsIdAttribute
 
Methods inherited from class com.rapidminer.operator.clustering.clusterer.AbstractClusterer
doWork, getAdditionalAttributes, getClusterModelClass, getExampleSetInputPort, shouldAutoConnect
 
Methods inherited from class com.rapidminer.operator.Operator
acceptsInput, addError, addError, addValue, addWarning, apply, apply, assumePreconditionsSatisfied, checkAll, checkAllExcludingMetaData, checkDeprecations, checkForStop, checkIO, checkProperties, clear, clearErrorList, cloneOperator, collectErrors, createExperimentTree, createExperimentTree, createFromXML, createFromXML, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, createProcessTree, disconnectPorts, execute, fireUpdate, freeMemory, getAddOnlyAdditionalOutput, getApplyCount, getCompatibilityLevel, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getDOMRepresentation, getEncoding, getErrorList, getExecutionUnit, getExperiment, getIncompatibleVersionChanges, getInput, getInput, getInput, getInputClasses, getInputDescription, getInputPorts, getIODescription, getLog, getLogger, getName, getNumberOfBreakpoints, getOperatorClassName, getOperatorDescription, getOutputClasses, getOutputPorts, getParameter, getParameterAsBoolean, getParameterAsChar, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsRepositoryLocation, getParameterAsString, getParameterHandler, getParameterList, getParameters, getParameterTupel, getParameterType, getParent, getPortOwner, getProcess, getResourceConsumptionEstimator, getRoot, getStartTime, getTransformer, getUserDescription, getValue, getValues, getXML, getXML, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isDirty, isEnabled, isExpanded, isParallel, isParameterSet, isRunning, log, log, logError, logNote, logWarning, lookupOperator, makeDirty, makeDirtyOnUpdate, notifyRenaming, performAdditionalChecks, preAutoWire, processFinished, processStarts, producesOutput, propagateDirtyness, register, registerOperator, remove, removeAndKeepConnections, rename, resume, setBreakpoint, setCompatibilityLevel, setEnabled, setEnclosingProcess, setExpanded, setInput, setListParameter, setPairParameter, setParameter, setParameters, setUserDescription, shouldAutoConnect, shouldStopStandaloneExecution, toString, transformMetaData, unregisterOperator, updateExecutionOrder, walk, writeXML, writeXML
 
Methods inherited from class com.rapidminer.tools.AbstractObservable
addObserver, addObserverAsFirst, fireUpdate, removeObserver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MIN_PTS_NAME

public static final java.lang.String MIN_PTS_NAME
See Also:
Constant Field Values

PARAMETER_KERNEL_TYPE

public static final java.lang.String PARAMETER_KERNEL_TYPE
The parameter name for "The SVM kernel type"

See Also:
Constant Field Values

PARAMETER_KERNEL_GAMMA

public static final java.lang.String PARAMETER_KERNEL_GAMMA
The parameter name for "The SVM kernel parameter gamma (radial)."

See Also:
Constant Field Values

PARAMETER_KERNEL_DEGREE

public static final java.lang.String PARAMETER_KERNEL_DEGREE
The parameter name for "The SVM kernel parameter degree (polynomial)."

See Also:
Constant Field Values

PARAMETER_KERNEL_A

public static final java.lang.String PARAMETER_KERNEL_A
The parameter name for "The SVM kernel parameter a (neural)."

See Also:
Constant Field Values

PARAMETER_KERNEL_B

public static final java.lang.String PARAMETER_KERNEL_B
The parameter name for "The SVM kernel parameter b (neural)."

See Also:
Constant Field Values

PARAMETER_KERNEL_CACHE

public static final java.lang.String PARAMETER_KERNEL_CACHE
The parameter name for "Size of the cache for kernel evaluations im MB "

See Also:
Constant Field Values

PARAMETER_CONVERGENCE_EPSILON

public static final java.lang.String PARAMETER_CONVERGENCE_EPSILON
The parameter name for "Precision on the KKT conditions"

See Also:
Constant Field Values

PARAMETER_MAX_ITERATIONS

public static final java.lang.String PARAMETER_MAX_ITERATIONS
The parameter name for "Stop after this many iterations"

See Also:
Constant Field Values

PARAMETER_P

public static final java.lang.String PARAMETER_P
The parameter name for "The fraction of allowed outliers."

See Also:
Constant Field Values

PARAMETER_R

public static final java.lang.String PARAMETER_R
The parameter name for "Use this radius instead of the calculated one (-1 for calculated radius)."

See Also:
Constant Field Values

PARAMETER_NUMBER_SAMPLE_POINTS

public static final java.lang.String PARAMETER_NUMBER_SAMPLE_POINTS
The parameter name for "The number of virtual sample points to check for neighborship."

See Also:
Constant Field Values

KERNEL_DOT

public static final int KERNEL_DOT
Indicates a linear kernel.

See Also:
Constant Field Values

KERNEL_RADIAL

public static final int KERNEL_RADIAL
Indicates a rbf kernel.

See Also:
Constant Field Values

KERNEL_POLYNOMIAL

public static final int KERNEL_POLYNOMIAL
Indicates a polynomial kernel.

See Also:
Constant Field Values

KERNEL_NEURAL

public static final int KERNEL_NEURAL
Indicates a neural net kernel.

See Also:
Constant Field Values

UNASSIGNED

protected static final int UNASSIGNED
See Also:
Constant Field Values

NOISE

public static final int NOISE
See Also:
Constant Field Values

NOISE_CLUSTER_DESCRIPTION

public static final java.lang.String NOISE_CLUSTER_DESCRIPTION
See Also:
Constant Field Values
Constructor Detail

SVClustering

public SVClustering(OperatorDescription description)
Method Detail

generateClusterModel

public ClusterModel generateClusterModel(ExampleSet exampleSet)
                                  throws OperatorException
Description copied from class: AbstractClusterer
Generates a cluster model from an example set. Called by Operator.apply().

Specified by:
generateClusterModel in class AbstractClusterer
Throws:
OperatorException

getNeighbours

protected java.util.LinkedList<java.lang.Integer> getNeighbours(ExampleSet exampleSet,
                                                                Example centroid,
                                                                int centroidIndex,
                                                                int[] assignments,
                                                                SVClusteringAlgorithm clustering)
                                                         throws UndefinedParameterError
Throws:
UndefinedParameterError

createKernel

public static Kernel createKernel(int kernelType)
Creates a new kernel of the given type. The kernel type has to be one out of KERNEL_DOT, KERNEL_RADIAL, KERNEL_POLYNOMIAL, or KERNEL_NEURAL.


supportsCapability

public boolean supportsCapability(OperatorCapability capability)
Description copied from interface: CapabilityProvider
Checks for Learner capabilities. Should return true if the given capability is supported.

Specified by:
supportsCapability in interface CapabilityProvider

getParameterTypes

public java.util.List<ParameterType> getParameterTypes()
Description copied from class: Operator
Returns a list of ParameterTypes describing the parameters of this operator. The default implementation returns an empty list if no input objects can be retained and special parameters for those input objects which can be prevented from being consumed. ATTENTION! This will create new parameterTypes. For calling already existing parameter types use getParameters().getParameterTypes();

Specified by:
getParameterTypes in interface ParameterHandler
Overrides:
getParameterTypes in class RMAbstractClusterer


Copyright © 2001-2009 by Rapid-I