【问题标题】:How to select randomly and fairly data in matlab如何在matlab中随机公平地选择数据
【发布时间】:2014-02-08 18:57:57
【问题描述】:

如何从matlab的数据集中随机、公平地选择一些数据?

当我们使用 randperm 函数选择数据时,它们是随机且公平的?

【问题讨论】:

  • 是的,我认为你没问题。示例:m = 6; Data = magic(m) shuffle = randperm(m); Data = Data(shuffle, :); 这样你就可以打乱你的行了。

标签: matlab random dataset


【解决方案1】:

正如您已经建议的那样,假设您不想重复,则可以使用 randpermn 中选择均匀随机选择的行。

例子:

dataSet = rand(1000,4);
idx = randperm(size(dataSet,1),10)
dataSet(idx,:)

【讨论】:

    【解决方案2】:

    如果你有统计工具箱,你可以使用randsample

    sample = randsample(data,k);
    

    从向量data 中的值中随机抽取均匀采样的k 值,无需替换。有关其他选项,请参见上面的链接。

    randperm的等效代码:

    ind = randperm(numel(data));
    sample = data(ind(1:k));
    

    是的,这些方法中的任何一种都提供随机样本,是的,它们公平。我假设“公平”是指“统一”:data 的每个条目都以相同的概率被选中。

    【讨论】:

      【解决方案3】:

      任何使用均匀分布的东西都是“公平的”。因为输出应该在特定范围内随机分布。例如matlab中的rand函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-25
        • 1970-01-01
        • 2012-11-16
        • 1970-01-01
        • 1970-01-01
        • 2014-06-17
        • 2012-10-07
        • 2011-02-01
        相关资源
        最近更新 更多