留出法matlab编程,在matlab中留出一个交叉验证算法

这是我做的:

// Initialize result matrix

Results = zeros(size(Datas,1),2);

// Validate classifier settings with leave-one-out procedure

for k=1:size(Datas,1)

// Extract sample

ind = Datas(k,:);

// Copy the database

Datas_mod = Datas;

// Copy the classes vector

Classes_mod = Classes;

// Keep the sample real class

Results(k,2) = Classes(k);

// Remove sample from database

Datas_mod(k,:) = [];

// Remove sample from class vector

Classes_mod(k) = [];

// Execute the classification algorithm

[Individu,MxD(k)] = knn(ind(1,1:size(ind,2)),Datas_mod,Classes_mod,5,700);

// Keep the class found by the classifier for the current sample

Results(k,1) = Individu(1,size(Individu,2));

end

// Confusion matrix

CM = nan_confusionmat(Results(:,1),Results(:,2)) // Scilab function, find your own

只需用你正在使用的分类器替换knn即可.希望这有帮助.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值