我有两条数据。一个是实际的fulldata
,它是 49625x6 数字数据的数据集,另一个是该数据的索引,其 target_class 命名Book2
为 49625x1。
Book2 有六个名称(字符串)一遍又一遍地重复以匹配 fulldata 数据集条目。我想使用 Book2 从 fulldata 中提取 1000 个样本,其中 1000 个样本中有 25% 是“蓝色”,75% 是“红色”,然后将其包含在一个名为sampledata
.
如何在 MATLAB 中实现这一点?
伪代码:
从 Book2 中选择 250 个蓝色样本,不确定如何“选择”250 个随机“蓝色”样本
bluesample = indX(Book2, :)
或Book2(indX, :)
不确定。
从 Book2 中选择 750 个红色样本,再次不确定如何“选择”750 个随机“红色”样本
redsample = indX(Book2, ;)
,或者Book2(indX, :)
在这里再次不确定。
将蓝色和红色样本组合成子样本。
subsample = join(bluesample, redsample)
找到 subsample 的索引并从 fulldata 创建 sampledata:
sampledata = subsample(indX(fulldata), :) This line is probably wrong
这是两个数据集的图像:
Book2 中的每一行都与 fulldata 中的行匹配。我正在尝试使用Book2从fulldata中选择一定数量的“正常”和一定数量的“不正常”(是的,我知道它们没有恰当地命名)数据的能力,因为Book2是fulldata的索引和包含类标签。
所以就我的数据集而言,这样说起来更容易:
Choose 250 random samples of the string "normal." from Book2 and log the row number.
Choose 750 random samples of the string "not normal." from Book2 and log the row number.
Combine the two random samples of row numbers together.
Make a new dataset (1000x6) using the combined row numbers (above) of fulldata.