Fuzzy Rule Learner

This rule learner* learns a Fuzzy Rule Model on labeled numeric data using Mixed Fuzzy Rule Formation as the underlying training algorithm (also known as RecBF-DDA algorithm), see Influence of fuzzy norms and other heuristics on "Mixed Fuzzy Rule Formation" for an extension of the algorithm.
This algorithm generates rules based on numeric data, which are fuzzy intervals in higher dimensional spaces. These hyper-rectangles are defined by trapezoid fuzzy membership functions for each dimension. The selected numeric columns of the input data are used as input data for training and additional columns are used as classification target, either one column holding the class information or a number of numeric columns with class degrees between 0 and 1 can be selected. The data output contains the fuzzy rules after execution. Each rule consists of one fuzzy interval for each dimension plus the target classification columns along with a number of rule measurements. The model output port contains the fuzzy rule model, which can be used for prediction in the Fuzzy Rule Predictor node.

(*) RULE LEARNER is a registered trademark of Minitab, LLC and is used with Minitab’s permission.


Missing Values
Select one method to handle missing values: "Incorp" may generate fuzzy rules with missing values, if no replacement value has been found during the learning process. "Best Guess" computes the optimal replacement value by projecting the fuzzy rule (with missing value(s)) onto the missing dimension(s) of all other rules. "Mean", "Min", and "Max" replaces the missing value with each column's statistical property. "Zero" and "One" perform a constant replacement by inserting either zero or one.
Shrink after commit If selected, a shrink to reduce conflicting rules is executed immediately after a new rule is committed, i.e. the new rule is reduced so that conflicts with all other rules of different classes are avoided.
Use class with max coverage If selected, only the class with maximum coverage degree of the target columns is used during training, otherwise all class columns are considered for coverage.
Maximum no. Epochs
If selected, the option defines the maximum number of epochs the algorithm has to process the entire data set, otherwise it repeats this process until this rule model is stable, i.e. no new rule has been committed and/or no shrink is executed.
Target Columns
Select the target(s) to be used for classification. If more than one column (only numeric) is selected, the columns must contain class membership values between 0 and 1 for each class given by the column name.
Fuzzy Norm Select a fuzzy norm to compute the rules' activation across all dimensions and rules. Fuzzy norms are important, because they combine the membership values of each fuzzy interval for one rule and compute a final output across all rules. Different choices of fuzzy norms are available: Min/Max Norm, Product Norm, Lukasiewicz Norm, and Yager[2.0] Norm.
Shrink Function Select a shrink method to reduce rules in order to avoid conflicts between rules of different classes. There are three shrink methods available to normalize the loss in volume: VolumnBorderBased shrink applies the volume loss in terms of the support or core region borders; VolumnAnchorBased shrink uses the anchor value border; and VolumnRuleBased shrink uses the entire rule volume.

Input Ports

Numeric data as well as class information used for training.

Output Ports

Rules with fuzzy intervals in each dimension, classification columns, and additional rule measures.
Fuzzy Rule Model can be used for prediction.


Learner Statistics
Displays a summary of the learning process.




You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.