查看: 68|回复: 3|关注: 0

[已答复] 如何解决“mapminmax函数反归一化时提示“此类型的变量不支持使用点进行索引。”

[复制链接]

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
发表于 6 天前 | 显示全部楼层 |阅读模式
新手小白,使用的版本是2019a,想用SVM工具箱进行预测,代码是在网上找的,3周前可以成功使用,今天再次使用时出现问题如下:反归一化时,mapminmax函数提示“此类型的变量不支持使用点进行索引。”
%% I. 清空环境变量
clear all
clc
%% II. 导入数据
load concrete_data.mat

%%
% 1. 随机产生训练集和测试集
n = randperm(size(attributes,2));

%%
% 2. 训练集――80个样本
p_train = attributes(:,n(1:80))';
t_train = strength(:,n(1:80))';

%%
% 3. 测试集――23个样本
p_test = attributes(:,n(81:end))';
t_test = strength(:,n(81:end))';

%% III. 数据归一化
%%
% 1. 训练集
[pn_train,inputps] = mapminmax(p_train');
pn_train = pn_train';
pn_test = mapminmax('apply',p_test',inputps);
pn_test = pn_test';

%%
% 2. 测试集
[tn_train,outputps] = mapminmax(t_train');
tn_train = tn_train';
tn_test = mapminmax('apply',t_test',outputps);
tn_test = tn_test';

%% IV. SVM模型创建/训练
%%
% 1. 寻找最佳c参数/g参数
[c,g] = meshgrid(-10:0.5:10,-10:0.5:10);
[m,n] = size(c);
cg = zeros(m,n);
eps = 10^(-4);
v = 5;
bestc = 0;
bestg = 0;
error = Inf;
for i = 1:m
    for j = 1:n
        cmd = ['-v ',num2str(v),' -t 2',' -c ',num2str(2^c(i,j)),' -g ',num2str(2^g(i,j) ),' -s 3 -p 0.1'];
        cg(i,j) = svmtrain(tn_train,pn_train,cmd);
        if cg(i,j) < error
            error = cg(i,j);
            bestc = 2^c(i,j);
            bestg = 2^g(i,j);
        end
        if abs(cg(i,j) - error) <= eps && bestc > 2^c(i,j)
            error = cg(i,j);
            bestc = 2^c(i,j);
            bestg = 2^g(i,j);
        end
    end
end

%%
% 2. 创建/训练SVM  
cmd = [' -t 2',' -c ',num2str(bestc),' -g ',num2str(bestg),' -s 3 -p 0.01'];
model = svmtrain(tn_train,pn_train,cmd);

%% V. SVM仿真预测
[Predict_1,error_1,decision_values1] = svmpredict(tn_train,pn_train,model);
[Predict_2,error_2,decision_values2] = svmpredict(tn_test,pn_test,model);
%%
% 1. 反归一化
predict_1 = mapminmax('reverse',Predict_1,outputps);
predict_2 = mapminmax('reverse',Predict_2,outputps);

%%
% 2. 结果对比
result_1 = [t_train predict_1];
result_2 = [t_test predict_2];

回复主题 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 6 天前 | 显示全部楼层
有没有安装了libsivm3.24的大佬帮我解决一下,太着急了,感激不尽
VNH`7W_FYKUQH`H(7%F]LNF.png

concrete_data.mat

2.23 KB, 下载次数: 0

数据集

回复此楼 已获打赏: 0 积分

举报

禁止访问

5 麦片

财富积分



0

主题

2

帖子

0

最佳答案
发表于 6 天前 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 6 天前 | 显示全部楼层
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表