【问题标题】:matlab uniformly resamplematlab统一重采样
【发布时间】:2012-11-14 12:25:54
【问题描述】:

我有一个严重不平衡的数据集。我想使用原始数据集大小的 200% 执行统一重采样。

resample 函数似乎无法按我的预期执行。任何人都知道任何工具箱或功能可以执行此操作吗?谢谢。

【问题讨论】:

  • 你能解释一下你尝试了什么以及为什么它不起作用吗?
  • @jerad 嗨,我正在尝试将数据重新采样为 a) 使其平衡(统一重新采样),以及 b) 将数据集扩大为原始数据集的两倍。 Matlab 函数“重采样”似乎没有我想要的选项或参数,而且我还没有找到任何其他可以对不平衡数据集执行数据重采样的函数。您知道可以执行此操作的任何功能吗?非常感谢。

标签: matlab resampling


【解决方案1】:

如果您想从大小为 N 的数据集中随机重采样并替换,您可以使用 randi(N,1,N*2) 返回一个大小为 N*2 的向量,其中包含 1 到 N 之间的随机整数。然后使用该向量索引到您的原矩阵。例如,

N = 100;
data = rand(1,N); % This simulates your original data set
idx  = randi(N, 1, N*2);
newData = data(idx);

【讨论】:

  • 非常感谢!我想我可以稍微修改一下这段代码,以确保平衡数据的要求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-25
  • 2015-10-16
  • 2013-01-26
相关资源
最近更新 更多