如何在MATLAB中训练我的ANFIS数据集?

时间:2016-01-07 17:20:11

标签: matlab neural-network fuzzy-logic

我有一些9年的后续数据集,代表了每年感染登革热的人数,从2007年到2015年每年分为四个象限。如何为ANFIS准备我的数据集。并训练他们预测上一年的记录?

enter image description here

1 个答案:

答案 0 :(得分:2)

对于具有 N 输入的FIS,训练数据具有 N + 1 列,其中第一个 N 列包含输入数据和最终列包含输出数据。在这里,您可以选择 2 输入(象限)和一个输出() 。这样,对于 9 年,行数变为 36 。列数等于输入数+输出( 2 + 1 )。

a = 1:4;
b = (2007:2015)';
[A,B] = meshgrid(a,b);
A = A(:);
B = B(:);
C = ones(36,1); % you should insert your numbers here from the table
trainData = [B A C]

现在尝试使用genfis生成FIS:

numMFs = 5;   % number of membership function
mfType = 'gbellmf'; % type of MF
fis = genfis1(trainData,numMFs,mfType); 

更紧凑的方式:

[A,B] = meshgrid(a,b);
trainData = [A(:) B(:) C];