matlab自助法实现

作者: 听城 | 来源:发表于2017-10-13 13:13 被阅读293次

方法:以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,:) = [];
    
    

相关文章

  • matlab自助法实现

    方法:以bootstrap sampling为基础,给定包含m个样本的数据集,我们对它进行采样产生数据集D’:每次...

  • matlab留出法实现

    留出法(hold-out)方法:直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,...

  • 27统计基础- 置信区间

    置信区间 ​ 自助法(Bootstrap Method,Bootstrapping或自助抽样法)。在统...

  • 优化算法matlab实现(一)相关matlab基础

    之前实现优化算法用的java、python、c++,matlab使用较少,接下来会用matlab来实现。此处记录了...

  • 自助法

    bootstrapping 给定包含m个样本的数据集D,我们对它进行采样产生数据集D’, 每次随机从D中采样,并放...

  • 利用matlab基础语句实现牛顿法matlab潮流计算

    问题描述 现代电力系统分析课程留了用计算机进行潮流计算的作业,可以使用各种软件实现,matlab就包含在其中,按老...

  • Matlab实现层次分析法示例

    预备知识点 Matlab基本小常识:分号的作用、、注释的快捷键、clc和clear、disp和input; sum...

  • 系统辨识

    Matlab SI toolbox Matlab的Toolbox功能更强大,实现了Ljung的算法。但也更复杂。可...

  • MATLAB计算转移矩阵源代码

    如何用MATLAB计算转移矩阵 如何用MATLAB计算马尔科夫矩阵 如何用MATLAB实现马尔科夫过程 这些都是一...

  • stata -- bootstrap

    自助法的简单命令模式

网友评论

    本文标题:matlab自助法实现

    本文链接:https://www.haomeiwen.com/subject/obdzyxtx.html