View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Neuro-fuzzy classifier

4.7 | 11 ratings Rate this file 75 Downloads (last 30 days) File Size: 14.7 KB File ID: #29043 Version: 1.1

Neuro-fuzzy classifier


Bayram (view profile)


15 Oct 2010 (Updated )

there are three classifiers and one feature selection method based on neuro-fuzy.

| Watch this File

File Information

It is known that there is no sufficient Matlab program about neuro-fuzzy classifiers. Generally, ANFIS is used as classifier. ANFIS is a function approximator program. But, the usage of ANFIS for classifications is unfavorable. For example, there are three classes, and labeled as 1, 2 and 3. The ANFIS outputs are not integer. For that reason the ANFIS outputs are rounded, and determined the class labels. But, sometimes, ANFIS can give 0 or 4 class labels. These situations are not accepted. As a result ANFIS is not suitable for classification problems. In this study, I prepared different adaptive neuro-fuzzy classifiers.
In the all programs, which are given below, I used the k-means algorithm to initialize the fuzzy rules. For that reason, the user should give the number of cluster for each class. Also, Gaussian membership function is only used for fuzzy set descriptions, because of its simple derivative expressions
The first of them is scg_nfclass.m. This classifier based on Jang’s neuro-fuzzy classifier [1]. The differences are about the rule weights and parameter optimization. The rule weights are adapted by the number of rule samples. The scaled conjugate gradient (SCG) algorithm is used to determine the optimum values of nonlinear parameters. The SCG is faster than the steepest descent and some second order derivative based methods. Also, it is suitable for large scale problems [2].
The second program is scg_nfclass_speedup.m. This classifier is similar the scg_nfclass. The difference is about parameter optimization. Although it is based on SCG algorithm, it is faster than the traditional SCG. Because, it used least squares estimation method for gradient estimation without using all training samples. The speeding up is seemed for medium and large scale problems [2].
The third program is scg_power_nfclass.m. Linguistic hedges are applied to the fuzzy sets of rules, and are adapted by SCG algorithm. By this way, some distinctive features are emphasized by power values, and some irrelevant features are damped with power values. The power effects in any feature are generally different for different classes. The using of linguistic hedges increase the recognition rates [3].
The last program is scg_power_nfclass_feature.m. In this program, the powers of fuzzy sets are used for feature selection [4]. If linguistic hedge values of classes in any feature are bigger than 0.5 and close to 1, this feature is relevant, otherwise it is irrelevant. The program creates a feature selection and a rejection criterion by using power values of features.
[1] Sun CT, Jang JSR (1993). A neuro-fuzzy classifier and its applications. Proc. of IEEE
Int. Conf. on Fuzzy Systems, San Francisco 1:94–98.Int. Conf. on Fuzzy Systems, San Francisco 1:94–98
[2] B. Cetişli, A. Barkana (2010). Speeding up the scaled conjugate gradient algorithm and its application in neuro-fuzzy classifier training. Soft Computing 14(4):365–378.
[3] B. Cetişli (2010). Development of an adaptive neuro-fuzzy classifier using linguistic hedges: Part 1. Expert Systems with Applications, 37(8), pp. 6093-6101.
[4] B. Cetişli (2010). The effect of linguistic hedges on feature selection: Part 2. Expert Systems with Applications, 37(8), pp 6102-6108.

Required Products Fuzzy Logic Toolbox
MATLAB release MATLAB 7.9 (R2009b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (16)
21 Oct 2016 Siddhi Parodkar

Thanks for the code..
I tried using this code for classification of thyroid disease into 3 classes ..dataset has 21 features but nfc_feature_select code gives same linguistic hedge value=0.3 for all features.. can someone please help me out??

15 Oct 2016 orestis mitrou

29 Sep 2016 Alex

Alex (view profile)

Thank you!

27 Aug 2016 Gabriel Soares

Thanks for sharing with us.

14 Jun 2016 Jakob

Jakob (view profile)


05 Jun 2016 afshin shoeibi

28 Nov 2015 LOKESH

LOKESH (view profile)

how this code can be used for dataset classification.?

Comment only
09 Oct 2014 SURAJ .

SURAJ . (view profile)

Really helpful.

03 Oct 2014 LALEYE

LALEYE (view profile)

i get an error in scg_nfc at 185. Help me to resolve it. Expression or statement is incorrect--possibly unbalanced (,{, or [.

Comment only
11 Jul 2014 hariharan mahalingam

25 Dec 2012 elcebir

03 May 2012 DAD

DAD (view profile)

How to find the parameters in Neuro Fuzzy code?

Comment only
07 Jan 2012 rupam das

great code!

15 Sep 2011 Mr Smart

20 Jul 2011 Mehdi Hassan

When i tried to run the code it displayed the following error message:

Error in ==> scg_nfc at 187{best};

please help me in this regards.
Thanks in advance.

Comment only
27 Oct 2010 priyanka

help me regarding the ANFIS to identify the impulse noise in

Comment only
31 Dec 2010 1.1

In new files, I added the ruleviewers to demonstrate the rules.

Contact us