我刚开始使用Matlab。我有一个训练特征矩阵,尺寸为2561×108,还有一组对应的标签,尺寸为2561×1,包含从1到15的15个不同的类别。我想了解如何拆分数据,以便每个类别有特定数量的实例,比如每个类别50个实例,其余的作为测试集?
提前感谢。
回答:
对于每个类别,你可以使用find
函数(如果标签是字符串,则使用strncmp
)。通过这种方式,你可以隔离出那些被指定标签分类的元素。这将返回这些元素的索引,你可以使用这些索引从主要的2561×108矩阵中提取数据。
例如,如果输出(假设为x)给你的是1:50,那么x=1:50
,使用Label1 = mainMatrix(class1,x)
将创建一个名为Label1
的数据结构,该结构包含属于class1
的50个元素