首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多维数据的分层采样

多维数据的分层采样
EN

Stack Overflow用户
提问于 2012-02-09 07:12:03
回答 1查看 2.4K关注 0票数 2

我想将一个语料库划分为训练和测试,以分层的方式设置

观测数据点排列在矩阵A中,如

代码语言:javascript
复制
A=[16,3,0;12,6,4;19,2,1;.........;17,0,2;13,3,2]

矩阵的每一列都代表一个不同的特征。

在Matlab中,cvpartition(A,'holdout',p)函数要求A是一个向量。如何使用A作为一个矩阵来执行相同的操作,即产生的集合与原始语料库中每个特征的分布大致相同。

EN

回答 1

Stack Overflow用户

发布于 2012-09-05 13:10:29

通过使用矩阵A而不是分组数据,您可以假设数据的随机分区将返回具有相同列分布的测试和训练集。

通常,您在问题中所做的假设是,A有一个分区,使得每个A的边际分布(每列1)对所有三个变量都有相同的分布。不能保证这是真的。检查矩阵中的列是否相关。如果没有,只需对1进行分区,并使用行索引来定义测试矩阵:

代码语言:javascript
复制
cv = cvpartition(A(:, 1), 'holdout', p);
text_mat = A(cv.test, :);

如果它们是相关的,你可能需要回去重新考虑你想要做什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9206790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档