com.rapidminer.operator.learner.subgroups
Class SubgroupDiscovery

java.lang.Object
  extended by com.rapidminer.operator.Operator
      extended by com.rapidminer.operator.learner.AbstractLearner
          extended by com.rapidminer.operator.learner.subgroups.SubgroupDiscovery
All Implemented Interfaces:
ConfigurationListener, PreviewListener, Learner, ParameterHandler, LoggingHandler

public class SubgroupDiscovery
extends AbstractLearner

This operator discovers subgroups (or induces a rule set, respectively) by generating hypotheses exhaustively. Generation is done by stepwise refining the empty hypothesis (which contains no literals). The loop for this task hence iterates over the depth of the search space, i.e. the number of literals of the generated hypotheses. The maximum depth of the search can be specified. Furthermore the search space can be pruned by specifying a minimum coverage of the hypothesis or by using only a given amount of hypotheses which have the highest coverage. From the hypotheses, rules are derived according to the users preference. The operator allows the derivation of positive rules (Y+) and negative rules (Y-) separately or the combination by deriving both rules or only the one which is the most probable due to the examples covered by the hypothesis (hence: the actual prediction for that subset). All generated rules are evaluated on the example set by a user specified utility function and stored in the final rule set if they (1) exceed a minimum utility threshold or (2) are among the k best rules. The desired behavior can be specified as well.

Author:
Tobias Malbrecht

Field Summary
static int DISCOVERY_MODE_ABOVE_MINIMUM_UTILITY
           
static int DISCOVERY_MODE_K_BEST_RULES
           
static java.lang.String[] DISCOVERY_MODES
           
static java.lang.String PARAMETER_DISCOVERY_MODE
           
static java.lang.String PARAMETER_K_BEST_RULES
           
static java.lang.String PARAMETER_MAX_CACHE
           
static java.lang.String PARAMETER_MAX_DEPTH
           
static java.lang.String PARAMETER_MIN_COVERAGE
           
static java.lang.String PARAMETER_MIN_UTILITY
           
static java.lang.String PARAMETER_RULE_GENERATION
           
static java.lang.String PARAMETER_UTILITY_FUNCTION
           
static java.lang.String[] RULE_GENERATION_MODES
           
 
Fields inherited from class com.rapidminer.operator.learner.AbstractLearner
PROPERTY_RAPIDMINER_GENERAL_CAPABILITIES_WARN
 
Constructor Summary
SubgroupDiscovery(OperatorDescription description)
           
 
Method Summary
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 Model learn(ExampleSet exampleSet)
          Trains a model.
 boolean supportsCapability(LearnerCapability lc)
          Checks for Learner capabilities.
 
Methods inherited from class com.rapidminer.operator.learner.AbstractLearner
apply, getEstimatedPerformance, getInputClasses, getInputDescription, getOptimizationPerformance, getOutputClasses, getWeights, onlyWarnForNonSufficientCapabilities, shouldCalculateWeights, shouldDeliverOptimizationPerformance, shouldEstimatePerformance
 
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_DISCOVERY_MODE

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

DISCOVERY_MODES

public static final java.lang.String[] DISCOVERY_MODES

DISCOVERY_MODE_ABOVE_MINIMUM_UTILITY

public static final int DISCOVERY_MODE_ABOVE_MINIMUM_UTILITY
See Also:
Constant Field Values

DISCOVERY_MODE_K_BEST_RULES

public static final int DISCOVERY_MODE_K_BEST_RULES
See Also:
Constant Field Values

PARAMETER_UTILITY_FUNCTION

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

PARAMETER_RULE_GENERATION

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

RULE_GENERATION_MODES

public static final java.lang.String[] RULE_GENERATION_MODES

PARAMETER_MAX_DEPTH

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

PARAMETER_MIN_UTILITY

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

PARAMETER_K_BEST_RULES

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

PARAMETER_MIN_COVERAGE

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

PARAMETER_MAX_CACHE

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

SubgroupDiscovery

public SubgroupDiscovery(OperatorDescription description)
Method Detail

learn

public Model learn(ExampleSet exampleSet)
            throws OperatorException
Description copied from interface: Learner
Trains a model. This method should be called by apply() and is implemented by subclasses.

Throws:
OperatorException

supportsCapability

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


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 Operator


Copyright © 2001-2009 by Rapid-I