自助法 matlab,matlab自助法实现

方法:以bootstrap sampling为基础,给定包含m个样本的数据集,我们对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入D’,然后将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复m次以后,我们就得到了包含m个样本的数据集D’。将D’用作训练集,D\D’用作测试集;这样实际评估的模型与期望评估的模型都使用m个训练样本,而仍有数据总量约1/3的、没在训练集中出现的样本用于测试,这样的测试结果,也成为“包外估计”(out-of bag estimate).

在这个过程中,样本在m次采样中始终不被采到的概率是(1-1/m)m,取极限得到

即通过自助采样,初始数据集D中约有36.8%的样本未出现在采样数据集D’中。

使用条件:

(1)在数据集较小,难以有效划分训练/测试集时很有用;

(2)可从初始数据集中产生多个不同的训练集,对集成学习等方法很有用。

clear all;

close all;

clc;

data=csvread('irisdata.csv');

[s,t]=zizhu(data);

csvwrite('s.csv',s);

csvwrite('t.csv',t);

function [s,t]=zizhu(data)

t = data;

[m,n] = size(data);

s = zeros(m,n);

labels = [];

for i=1:m

index = UNIDRND(m);

labels = [labels index];

s(i,:) = data(index,:);

end

kind=unique(labels);

disp(length(kind))

t(kind,:) = [];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值