我对HDF5的了解有限,但我想了解有关HDF选择的一些内容。
为了给出一些背景,我有兴趣将HDF5用于机器学习中的应用程序。假设您有一个包含n
行和p
列的数据矩阵。在典型的k
- 折叠交叉验证设置中,您将矩阵拆分为k
个样本(每个样本大小为(n/k, p)
),并重复使用k-1
进行训练,1用于检测。当然,存储所有训练和测试集将占用大量空间。这是HDF5选择可能有用的地方。
如果我理解正确,选择可以引用数据集的任何子集。此外,可以将选择存储到数据集中。因此,从HDF5中的(n, p)
数据集开始,我可以创建k
个组(每个折叠一个),包含训练数据集(原始数据集中的行的子集)和测试数据集(剩下的)。由于它只是参考,它不会占用太多空间。
我找到了一些关于选择的文档,但不是很清楚。代码示例在C中,修改有点苛刻,我主要使用Python。我在PyTables
找不到与此相关的任何内容。我找到了some examples in h5py
,但我无法确定如何将数据放入子集中。
有人可以确认这是一个有趣的方法,并提供一些python代码,用于存储数据集中的行子集作为另一个数据集吗?