在 MATLAB 中从带有数据集的矩阵或数组中选择随机样本的方法

您所在的位置:网站首页 matlab查看数据分布 在 MATLAB 中从带有数据集的矩阵或数组中选择随机样本的方法

在 MATLAB 中从带有数据集的矩阵或数组中选择随机样本的方法

2023-03-24 16:52| 来源: 网络整理| 查看: 265

当前位置:主页 > 学无止境 > 编程语言 > WEB前端 编程语言 网络 算法 操作系统 数据库 在 MATLAB 中从带有数据集的矩阵或数组中选择随机样本的方法 作者:迹忆客 最近更新:2023/03/19 浏览次数:

我们将研究使用 MATLAB 的不同命令从任何数据集、数组或矩阵中选择随机样本的不同方法。

为了清除你的概念并让你全面了解如何获取随机样本,我们将通过提供代码示例来解释诸如 Randn、randsample、datasample 之类的函数,以从你的数据集中提取随机样本并进行替换。因为没有替换/替换以及显示你的输出外观的片段。

让我们假设我们有一个包含 50,000 行数据集的矩阵。我们想从我们的矩阵中选择一个包含 50 个实体的随机样本。我们可以使用不止一种随机抽样方法来执行此任务。在开始列出这些方法之前,请记住,随机样本/数据/数据集是从数据集的矩阵中随机选择的一些数据。为了消除偏见和其他不希望的可能影响,我们使用随机抽样。但我们必须记住,它并不像我们看起来那么简单。从数据集中选择随机样本比从包含 500 个实体的数据集中选择 10 个实体更复杂。另外,我们必须确保随机样本是否确实是随机的!

继续我们的假设,我们可以使用 MATLAB 从我们的数据集中提取随机样本。MATLAB 为我们提供了几个函数来从给定的数据集中选择随机样本/数据。例如,我们可以使用 MATLAB 中的函数 randsample 从任何包含数据的数组或矩阵中随机选择样本,无论是否有替换/替换。

使用 MATLAB 中的 randsample 函数提取随机样本

假设 N_obs 观察是随机选择的,并从数据集中的条目中替换,我们使用以下函数:

O_put = randsample(ourdata,N_obs)

其中 N_obs 表示观察次数。如果 ourdata 是一个向量,我们的输出 O_put 也将是一个包含数据集中 N_obs 个随机样本的向量。

让我们使用这个函数来解决我们假设的问题。

代码:

%Let's assume we have 50,000 entries in a dataset "ourdata". ourdata=50000; %We want to obtain 5 random samples from this dataset N_obs=5; %Let's follow the above-explained concept and write our code O_put = randsample(ourdata,N_obs);

输出:

O_put = 46700 33937 42457 32788 1786 使用 MATLAB 中的 datasample 函数提取随机样本

如果我们想在提取随机样本时牢记尺寸,那么我们使用下面的函数。

y = datasample(ourdata,N_obs,'Replace',false)

如果 Replace 是 true,我们选择有替换的样本;否则,我们选择不替换的样本。如果 Replace 设置为 false,我们限制 N_obs,使其不超过我们在数据集中设置的元素数量。

Replace 默认为 true。

true = 替换样本。

false = 没有替换的样本。

我们可以通过编写单行代码来实现这一点。牢记上述假设,我们将代码制定如下。

%Let's assume we have 50,000 entries in a dataset "ourdata". %We want to obtain 5 random samples from this dataset %Let's follow the above-explained concept and write our code using function %datasample %Let's Draw five unique values from the integers 1:50000 using 1 line code. O_put = datasample(1:50000,5,'Replace',false);

输出:

O_put = 24489 22279 32315 35467 37732 在 MATLAB 中使用 datasample 从数据集矩阵中提取列的随机样本子集

为此,我们将使用 MATLAB 中的 randn 函数。它创建具有正态分布的随机值数组。

I_put=randn(A) 生成一个 A-by-A 矩阵,其中包含随机生成的元素。

如果 A 不是标量(向量),则 MATLAB 将显示错误消息。

现在,为了获得我们的随机样本,我们将使用 datasample 函数,给出给定数据矩阵的随机列的子集。

代码:

I_put = randn(10,100000); O_put = datasample(I_put,5,2,'Replace',false)

输出:

O_put = -0.5995 -0.7377 -1.1902 -0.6021 -1.0812 -0.0572 -0.7831 0.4746 0.7105 -0.8038 0.8401 1.0824 -0.3507 0.4069 -2.0817 -1.1358 -0.9041 -0.1702 0.5950 0.3954 -1.0887 -0.7766 -1.6901 -0.5047 1.1286 -0.0187 -0.3354 -0.7458 1.8554 0.8492 0.3251 -0.4219 0.2440 -0.4750 0.7628 1.4713 -1.9788 -1.6672 0.0035 -0.4316 0.6880 1.4387 -1.3525 -0.6950 0.6411 -0.2777 -0.4776 -0.9841 1.2752 0.2645

上一篇:在 MATLAB 中检查数组或矩阵是否为空

下一篇:在 MATLAB 中的单个散点图上绘制多个数据集

相关文章 在 MATLAB 中的单个散点图上绘制多个数据集

发布时间:2023/03/19 浏览次数:116 分类:编程语言

可以使用 scatter() 函数在单个散点图上绘制多个数据集,并在 MATLAB 中按住命令。

在 MATLAB 中检查数组或矩阵是否为空

发布时间:2023/03/19 浏览次数:118 分类:编程语言

本教程演示如何在 MATLAB 中确定数组或矩阵是否为空。

使用 MATLAB 进行随机排列

发布时间:2023/03/19 浏览次数:193 分类:编程语言

可以使用 MATLAB 中的 randperm() 函数生成包含整数随机排列的向量。

在 MATLAB 中获取矩阵的列数

发布时间:2023/03/19 浏览次数:93 分类:编程语言

本教程演示了在 MATLAB 中获取矩阵列数的方法。

从命令行运行 MATLAB 脚本

发布时间:2023/03/19 浏览次数:127 分类:编程语言

本教程演示如何在命令行中运行 MATLAB 脚本。

在 MATLAB 中创建一个空矩阵

发布时间:2023/03/19 浏览次数:130 分类:编程语言

本教程演示了在 MATLAB 中使用不同方法创建空矩阵的方法。

转载请发邮件至 [email protected] 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3