com.rapidminer.operator.learner.functions.kernel
Class JMySVMLearner

java.lang.Object
  extended by com.rapidminer.operator.Operator
      extended by com.rapidminer.operator.learner.AbstractLearner
          extended by com.rapidminer.operator.learner.functions.kernel.AbstractMySVMLearner
              extended by com.rapidminer.operator.learner.functions.kernel.JMySVMLearner
All Implemented Interfaces:
ConfigurationListener, PreviewListener, Learner, ParameterHandler, LoggingHandler

public class JMySVMLearner
extends AbstractMySVMLearner

This learner uses the Java implementation of the support vector machine mySVM by Stefan Rüping. This learning method can be used for both regression and classification and provides a fast algorithm and good results for many learning tasks.

Author:
Ingo Mierswa
Keywords:
SVM

Field Summary
static java.lang.String PARAMETER_BALANCE_COST
          The parameter name for "Adapts Cpos and Cneg to the relative size of the classes"
static java.lang.String PARAMETER_EPSILON
          The parameter name for "Insensitivity constant.
static java.lang.String PARAMETER_EPSILON_MINUS
          The parameter name for "Epsilon for negative deviation only"
static java.lang.String PARAMETER_EPSILON_PLUS
          The parameter name for "Epsilon for positive deviation only"
static java.lang.String PARAMETER_ESTIMATE_PERFORMANCE
          The parameter name for "Indicates if this learner should also return a performance estimation.
static java.lang.String PARAMETER_L_NEG
          The parameter name for "A factor for the SVM complexity constant for negative examples"
static java.lang.String PARAMETER_L_POS
          The parameter name for "A factor for the SVM complexity constant for positive examples"
static java.lang.String PARAMETER_QUADRATIC_LOSS_NEG
          The parameter name for "Use quadratic loss for negative deviation"
static java.lang.String PARAMETER_QUADRATIC_LOSS_POS
          The parameter name for "Use quadratic loss for positive deviation"
 
Fields inherited from class com.rapidminer.operator.learner.functions.kernel.AbstractMySVMLearner
KERNEL_ANOVA, KERNEL_DOT, KERNEL_EPANECHNIKOV, KERNEL_GAUSSIAN_COMBINATION, KERNEL_MULTIQUADRIC, KERNEL_NEURAL, KERNEL_POLYNOMIAL, KERNEL_RADIAL, KERNEL_TYPES, PARAMETER_C, PARAMETER_CALCULATE_WEIGHTS, PARAMETER_CONVERGENCE_EPSILON, PARAMETER_KERNEL_A, PARAMETER_KERNEL_B, PARAMETER_KERNEL_CACHE, PARAMETER_KERNEL_DEGREE, PARAMETER_KERNEL_GAMMA, PARAMETER_KERNEL_SHIFT, PARAMETER_KERNEL_SIGMA1, PARAMETER_KERNEL_SIGMA2, PARAMETER_KERNEL_SIGMA3, PARAMETER_KERNEL_TYPE, PARAMETER_MAX_ITERATIONS, PARAMETER_RETURN_OPTIMIZATION_PERFORMANCE, PARAMETER_SCALE
 
Fields inherited from class com.rapidminer.operator.learner.AbstractLearner
PROPERTY_RAPIDMINER_GENERAL_CAPABILITIES_WARN
 
Constructor Summary
JMySVMLearner(OperatorDescription description)
           
 
Method Summary
 SVMInterface createSVM(Attribute label, Kernel kernel, SVMExamples sVMExamples, ExampleSet rapidMinerExamples)
          Creates a new SVM according to the given label.
 AbstractMySVMModel createSVMModel(ExampleSet exampleSet, SVMExamples sVMExamples, Kernel kernel, int kernelType)
          Creates a new SVM model from the given data.
 PerformanceVector getEstimatedPerformance()
          Returns the estimated performances of this SVM.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 boolean shouldEstimatePerformance()
          Returns true if the user wants to estimate the performance (depending on a parameter).
 
Methods inherited from class com.rapidminer.operator.learner.functions.kernel.AbstractMySVMLearner
createKernel, getKernel, getOptimizationPerformance, getSVM, getWeights, learn, shouldCalculateWeights, shouldDeliverOptimizationPerformance, supportsCapability
 
Methods inherited from class com.rapidminer.operator.learner.AbstractLearner
apply, getInputClasses, getInputDescription, getOutputClasses, onlyWarnForNonSufficientCapabilities
 
Methods inherited from class com.rapidminer.operator.Operator
addError, addValue, addWarning, apply, checkDeprecations, checkForStop, checkIO, checkProperties, clearErrorList, cloneOperator, createExperimentTree, createExperimentTree, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, createProcessTree, getAddOnlyAdditionalOutput, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getEncoding, getErrorList, getExperiment, getInnerOperatorsXML, getInput, getInput, getInput, getIOContainerForInApplyLoopBreakpoint, getIODescription, getLog, getName, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsString, getParameterList, getParameters, getParameterType, getParent, getProcess, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isEnabled, isExpanded, isParallel, isParameterSet, log, logError, logNote, logWarning, performAdditionalChecks, processFinished, processStarts, register, registerOperator, remove, rename, resume, setApplyCount, setBreakpoint, setEnabled, setExpanded, setInput, setListParameter, setOperatorParameters, setParameter, setParameters, setParent, setUserDescription, toString, unregisterOperator, writeXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.rapidminer.operator.learner.Learner
getName
 

Field Detail

PARAMETER_ESTIMATE_PERFORMANCE

public static final java.lang.String PARAMETER_ESTIMATE_PERFORMANCE
The parameter name for "Indicates if this learner should also return a performance estimation."

See Also:
Constant Field Values

PARAMETER_L_POS

public static final java.lang.String PARAMETER_L_POS
The parameter name for "A factor for the SVM complexity constant for positive examples"

See Also:
Constant Field Values

PARAMETER_L_NEG

public static final java.lang.String PARAMETER_L_NEG
The parameter name for "A factor for the SVM complexity constant for negative examples"

See Also:
Constant Field Values

PARAMETER_EPSILON

public static final java.lang.String PARAMETER_EPSILON
The parameter name for "Insensitivity constant. No loss if prediction lies this close to true value"

See Also:
Constant Field Values

PARAMETER_EPSILON_PLUS

public static final java.lang.String PARAMETER_EPSILON_PLUS
The parameter name for "Epsilon for positive deviation only"

See Also:
Constant Field Values

PARAMETER_EPSILON_MINUS

public static final java.lang.String PARAMETER_EPSILON_MINUS
The parameter name for "Epsilon for negative deviation only"

See Also:
Constant Field Values

PARAMETER_BALANCE_COST

public static final java.lang.String PARAMETER_BALANCE_COST
The parameter name for "Adapts Cpos and Cneg to the relative size of the classes"

See Also:
Constant Field Values

PARAMETER_QUADRATIC_LOSS_POS

public static final java.lang.String PARAMETER_QUADRATIC_LOSS_POS
The parameter name for "Use quadratic loss for positive deviation"

See Also:
Constant Field Values

PARAMETER_QUADRATIC_LOSS_NEG

public static final java.lang.String PARAMETER_QUADRATIC_LOSS_NEG
The parameter name for "Use quadratic loss for negative deviation"

See Also:
Constant Field Values
Constructor Detail

JMySVMLearner

public JMySVMLearner(OperatorDescription description)
Method Detail

shouldEstimatePerformance

public boolean shouldEstimatePerformance()
Description copied from class: AbstractLearner
Returns true if the user wants to estimate the performance (depending on a parameter). In this case the method getEstimatedPerformance() must also be overriden and deliver the estimated performance. The default implementation returns false.

Specified by:
shouldEstimatePerformance in interface Learner
Overrides:
shouldEstimatePerformance in class AbstractLearner

getEstimatedPerformance

public PerformanceVector getEstimatedPerformance()
                                          throws OperatorException
Returns the estimated performances of this SVM. Does only work for classification tasks.

Specified by:
getEstimatedPerformance in interface Learner
Overrides:
getEstimatedPerformance in class AbstractLearner
Throws:
OperatorException

createSVMModel

public AbstractMySVMModel createSVMModel(ExampleSet exampleSet,
                                         SVMExamples sVMExamples,
                                         Kernel kernel,
                                         int kernelType)
Description copied from class: AbstractMySVMLearner
Creates a new SVM model from the given data.

Specified by:
createSVMModel in class AbstractMySVMLearner

createSVM

public SVMInterface createSVM(Attribute label,
                              Kernel kernel,
                              SVMExamples sVMExamples,
                              ExampleSet rapidMinerExamples)
                       throws OperatorException
Description copied from class: AbstractMySVMLearner
Creates a new SVM according to the given label.

Specified by:
createSVM in class AbstractMySVMLearner
Throws:
OperatorException

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.

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


Copyright © 2001-2009 by Rapid-I