У меня ограниченные знания о HDF5, но я хотел бы кое-что понять о выборе HDF.
Чтобы дать некоторый контекст, меня интересует использование HDF5 для приложений в машинном обучении. Предположим, у вас есть матрица данных с n
строками и p
столбцами. При типичной настройке перекрестной проверки k
-кратности вы разделите матрицу на k
выборки (каждая размером (n/k, p)
) и повторно будете использовать k-1
для обучения и 1 для тестирования. Конечно, для хранения всех наборов для обучения и тестирования потребуется много места. Здесь может помочь выбор HDF5.
Если я правильно понимаю, выбор может относиться к любому подмножеству набора данных. Кроме того, выбор может быть сохранен в наборе данных. Поэтому, начиная с (n, p)
набора данных в HDF5, я мог бы создать k
групп (по одной для каждой складки), содержащих набор обучающих данных (подмножество строк в исходном наборе данных) и набор тестовых данных (остаток). Поскольку это всего лишь ссылки, он не займет слишком много места.
Я нашел документацию по выбору, но она не очень ясна. Примеры кода написаны на C, который немного сложно изменять, и я в основном использую Python. Я не нашел ничего похожего на это в PyTables
. Я нашел несколько примеров в h5py
, но не мог понять, как поместить данные в подмножестве.
Может ли кто-нибудь подтвердить, что это интересный подход, и предоставить некоторый код Python для хранения подмножества строк из набора данных в качестве другого набора данных?