MATLAB(ANFIS)成绩综合评估模糊系统构建

方法一,直接使用脚本代码

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 导入数据进行训练

在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值