MATLAB: It is possible to train the data set of 100×15 in ANFIS

anfiserror in large data set training of anfisMATLABtraining anfis

Dear all,
I am a very new user for ANFIS classifier.So, may I know it is possible to train 100×15 size of data set in .mat file. I trained this training data set ,and i occured error like " create very large rule based system" . May I know what 's the problem is? Thanks all.

Best Answer

This issue is a fundamental limitation and not a bug.
The following Web site provides information about the "curse of dimensionality":
Question 5 in this page, titled "How come GENFIS1 generates a huge number of fuzzy rules? What is the 'curse of dimensionality?'" is relevant for this issue.
One way to reduce the number of rules generated for a large dataset is to use the GENFIS2 method could be like:
in = train_data(:,1:37);
out = train_data(:,38);
fismat = genfis2(in,out,0.8); % generate an initial FIS with 80 rules instead of 728
fis = anfis(train_data,fismat); % takes long time but avoids 'out of memory' error
Additionally, for large datasets, it is not recommend that we execute multiple trainings in a loop. To manage memory usage, I suggest using a separate script file for each training and executing "clear classes" at the MATLAB prompt between executing each of the scripts.
Related Question