方法一,直接使用脚本代码
data_all
= xlsread('Score.xls');
data_all
= data_all(:,2:5); %获取数据集
,因为第一列是序号,要去掉
data_train
= data_all(1:2:end
,:);%获取训练数据集
data_test
= data_all(2:2:end
,:);%获取测试数据集
opt
= anfisOptions('InitialFIS',3,'EpochNumber',10);%设置参数,每个变量
3个模糊划分,学习迭代
10次
fis
= anfis(data_train
,opt
);%训练系统参数
data_test_input
= data_test(:,1:3);%测试数据集输入
anfisOutput
= evalfis(fis
,data_test_input
);%对系统进行测试
figure
len
= length(data_test
);
xlabel
=(1:len
)'
;%测试样本序号作为横坐标
data_test_output
= data_test(:,end
);
plot(xlabel
,data_test_output
,'*r')
hold on
plot(xlabel
,anfisOutput
,'ob')
legend('Real Output','ANFIS Output')
方法二,使用anfisedit工具箱
1.首先先要将xls文件保存成为dat文件
data_all
= xlsread('Score.xls');
train_data_all
= data_all(1:2:end
,2:5);
test_data_all
= data_all(2:2:end
,2:5);
%train_data
train_dat_data
= fopen('TrainScoredata.dat','wt');
[m
,n
] = size(train_data_all
);
for i
=1:1:m
for j
=1:1:n
if j
==n
fprintf(train_dat_data
,'%g\n',train_data_all(i
,j
));
else
fprintf(train_dat_data
,'%g\t',train_data_all(i
,j
));
end
end
end
fclose(train_dat_data
);
%test_data
test_dat_data
= fopen('TestScoredata.dat','wt');
[m
,n
] = size(test_data_all
);
for i
=1:1:m
for j
=1:1:n
if j
==n
fprintf(test_dat_data
,'%g\n',test_data_all(i
,j
));
else
fprintf(test_dat_data
,'%g\t',test_data_all(i
,j
));
end
end
end
fclose(test_dat_data
);
2.使用anfisedit进行训练
2.1 在命令行输入anfis
2.2 导入数据进行训练
转载请注明原文地址: https://lol.8miu.com/read-12946.html