V=V( idx)在matlab,matlab编程问题求解

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

最近在学习极限学习机,在网站上下载了matlab代码,运行时出现了问题:

未定义与 'struct' 类型的输入参数相对应的函数laplacian

求大神能帮忙看看

下面是代码

format compact;

clear;

addpath(genpath('functions'))

% load data

trial=1;

load g50c;

l=size(idxLabs,2);

u=ceil(size(y,1)*3/4)-2*l;

Xl=X(idxLabs(trial,:),:);

Yl=y(idxLabs(trial,:),:);

% Creat validation set

labels=unique(y);

idx_V=[];

for i=1:size(labels)

idx_V=[idx_V;find(y(idxUnls(trial,:))==labels(i),l/length(labels),'first')];

end

Xv=X(idxUnls(trial,idx_V),:);

Yv=y(idxUnls(trial,idx_V));

% Creat unlabeled and testing set

idxSet=1:size(idxUnls,2);

idx_UT=setdiff(idxSet,idx_V);

idx_rand=randperm(size(idx_UT,2));

Xu=X(idxUnls(trial,idx_UT(idx_rand(1:u))),:);

Yu=y(idxUnls(trial,idx_UT(idx_rand(1:u))),:);

Xt=X(idxUnls(trial,idx_UT(idx_rand(u+1:end))),:);

Yt=y(idxUnls(trial,idx_UT(idx_rand(u+1:end))),:);

%%%%%%%%%%%%%% train ss-elm

% Note that manifold regualarization are sensitive to the hyperparameters of graph Laplacian

% Compute graph Laplacian

options.NN=50;

options.GraphWeights='binary';

options.GraphDistanceFunction='euclidean';

options.LaplacianNormalize=1;

options.LaplacianDegree=5;

[L,options]=laplacian(options,[Xl;Xu]);

paras.NumHiddenNeuron=2000;

paras.NoDisplay=1;

paras.Kernel='sigmoid';

% model selection using the validation set

acc_v=zeros(10,10);

acc_test=zeros(10,10);

acc_max=0;

for i=1:10

paras.C=10^(i-5);

for j=1:10

paras.lambda=10^(7-j);

elmModel=sselm(Xl,Yl,Xu,L,paras);

[acc_v(i,j),MSE(i,j),~,~]=sselm_predict(Xv,Yv,elmModel);

[acc_test(i,j),~,~]=sselm_predict(Xt,Yt,elmModel)

if acc_v(i,j)>acc_max

acc_max=acc_v(i,j);

elmModel_best=elmModel;

end

end

end

[acc_tmp,~,~]=sselm_predict(Xu,Yu,elmModel_best);

err_u(trial)=100-acc_tmp

[acc_tmp,~,~]=sselm_predict(Xv,Yv,elmModel_best);

err_v(trial)=100-acc_tmp

[acc_tmp,~,~]=sselm_predict(Xt,Yt,elmModel_best);

err_t(trial)=100-acc_tmp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值