Как хранить наборы данных и делиться ими в PortML

Работа над проектами машинного обучения связана с проблемой хранения и организации наборов данных. Это может замедлить рабочий процесс. В совместных проектах каждый должен иметь доступ к одним и тем же наборам данных в любое время. PortML предлагает решение, предоставляя безопасное частное облако, в котором вы можете легко и организованно хранить наборы данных, модели и эксперименты и обмениваться ими.

В этом блоге мы рассмотрим, как мы можем хранить и получать доступ к наборам данных в PortML с помощью Python API.

PortML поддерживает корпорации и учреждения с помощью безопасного, бесперебойного, воспроизводимого и совместного рабочего процесса машинного обучения. Это позволяет организовывать и масштабировать действия по машинному обучению, чтобы оставаться конкурентоспособными в мире, управляемом данными.

Хранение набора данных

Для простоты мы загрузим хорошо известный набор данных радужной оболочки. Загрузите набор данных с веб-сайта UCI и прочитайте его в кадре данных pandas:

Ну вот! Набор данных радужной оболочки представляет собой чистый набор данных, поэтому дополнительная предварительная обработка не требуется.

1. Подключиться к PortML

Чтобы получить набор данных на PortML, мы должны сначала установить OpenML. Откройте командную строку и используйте pip для простой установки openml:

pip install openml

OpenML — это открытая платформа, созданная экспертами по машинному обучению для обмена наборами данных, алгоритмами и экспериментами с целью улучшения совместной работы и воспроизводимости в сообществе машинного обучения. Будучи проектом с открытым исходным кодом, OpenML постоянно совершенствуется и развивается благодаря вкладу сообщества. PortML тесно сотрудничает с OpenML, предлагая богатые функциональные возможности и инструменты OpenML корпорациям и учреждениям в виде управляемой защищенной платформы.

Мы не хотим использовать платформу OpenML, но мы можем использовать Python API (см. документы) для подключения к нашему серверу PortML. Для этого вам понадобится ваш API-ключ, который вы можете найти в своем профиле. Подключитесь к PortML, используя:

2. Создайте объект набора данных

Теперь мы можем получить доступ к нашему частному облаку. Мы создадим объект набора данных OpenML, который содержит данные, а также всю информацию о наборе данных:

Это множество атрибутов: подробное описание см. в документах create_dataset(). Наиболее важными являются data, attributes и default_target_attribute. Обратите внимание, как мы можем напрямую вводить фрейм данных и позволять PortML автоматически считывать имена атрибутов из имен столбцов фрейма данных. В качестве альтернативы вы можете предоставить список с именами столбцов, и они будут назначены столбцам набора данных. Мы указываем целевой атрибут, который является классом, с помощью default_target_attribute="class", и все готово!

3. Загрузить в PortML

Теперь нам осталась всего одна строка от загрузки нашего набора данных в PortML:

Если все хорошо, мы можем просмотреть наш набор данных на PortML:

Ну вот! Набор данных iris хранится в вашем частном облаке PortML, где вы и ваша команда можете легко получить к нему доступ в любое время.

Получение набора данных

Допустим, вам или вашему коллеге нужно использовать набор данных. Набор данных сохраняется как объект набора данных OpenML, который можно получить с помощью функции get_dataset:

OpenML Dataset
==============
Name..........: Iris
Version.......: 1
Format........: arff
Upload Date...: 2022-07-07 22:13:45
Licence.......: Public
# of features.: 5
# of instances: 150

Объект набора данных OpenML содержит всю информацию и метаданные. Сам набор данных можно получить (в виде кадра данных) с помощью метода get_data:

Ну вот! С помощью двух строк кода мы снова получили набор данных. Ваша команда также может получить доступ к набору данных таким же образом в любое время; улучшить рабочий процесс и сделать совместную работу беспрепятственной.

Попробуйте на OpenML!

Как упоминалось в блоге, PortML переносит функциональные возможности и инструменты OpenML на управляемую и защищенную платформу. Хотите познакомиться с платформой? Зайдите на openml.org, создайте учетную запись и протестируйте ее!

Узнать больше

Хотите узнать больше о PortML? Найдите другие наши блоги на portml.com/blog!

Машинное обучение: лучше, быстрее, вместе