Как хранить наборы данных и делиться ими в 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!
Машинное обучение: лучше, быстрее, вместе