Fuzzy regression tree

Generates fuzzy inference system (FIS) using regression tree algorithm and ANFIS training
4.6K Downloads
Updated 25 Feb 2017

View License

The archive includes genfis4.m that generates Mamdani- and Sugeno-type FIS using regression tree algorithm to extract fuzzy rule information from data set. It is based mostly on Fuzzy Logic Toolbox but it has required to modify Toolbox's fuzzy rule building principle. As a result some original m-files was adapted for this new fuzzy rule structure. They are marked with the last 'x' symbol and included in the archive (e.g., getfisx.m, evalfisx.m etc.) Though some Toolbox's m-files still work (e.g., addvar.m, plotmf.m etc.)

Remarks:
- before you start you should create MEX files by commands:
mex src/evalfisxmex.c
mex src/anfisxmex.c
- if you want to use your own regression tree algorithm you need to rewrite treefun.m (see example2.m for MATLAB's fitrtree usage);
- see example1.m and example2.m for fuzzy regression tree usage.
Known problems:
- it supports only regression tree without missing values for predictors and the response;

- it doesn't work if the resulting tree consists only one node (leaf);

- if some predictors are encountered in none of the branch nodes you can't use ANFIS training (evalfisx.m still works).

Cite As

Konstantin Sidelnikov (2024). Fuzzy regression tree (https://www.mathworks.com/matlabcentral/fileexchange/28393-fuzzy-regression-tree), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Fuzzy Logic Toolbox in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.2.2.0

- 'minleaf' splitting logic in growtree.m was fixed;
- genfis4.m now supports constant output for Sugeno-type FIS.

1.2.1.0

Minor changes

1.2.0.0

The name of file was changed.
It now implements conventional recursive partitioning algorithm to create a regression tree, but
you can support your own regression tree algorithm in a relatively flexible manner.

1.1.0.0

The new version uses 'fitrtree' insted of obsolete 'classregtree' to create regression decision tree.
The files 'example.m' and 'treeinfo,m' were updated.

1.0.0.0