如果我有一个数据集,比如说1000行,那么将数据集分成5个随机样本(即每个样本将有200行)的最佳方式是什么
我知道有像model_selection.train_test_split()
和utils.resample()
这样的函数,但是这些函数只将数据集分成两个样本
我是否首先需要生成一个随机数列表,在本例中是1000个随机数的列表(比如从1到1000),然后取数据集中的索引,对应于将数字1到200作为第一个随机样本,201到400作为第二个随机样本,401到600作为第三个随机样本等
或者Python中是否有我可以使用的函数(使我的生活更轻松)
您可以使用来自
scikit-learn
的Kfold
来生成所需的索引。如果采用较小的折叠(20%),则您将获得所需的5个数据切片:以下是伪随机、非重叠索引,供您选择数据/标签的相关部分
如果您想要分层抽样,那么您必须以类似的方式使用StratifiedKFold
如果您希望将其作为函数,我可能会将其创建为生成器:
相关问题 更多 >
编程相关推荐