Kaggle используется практически всеми, кто занимается наукой о данных. Эта платформа содержит датасеты для всех областей знаний. Вы можете получить набор данных практически для любого случая использования, включая развлечения, медицину, электронную коммерцию и даже астрономию. Пользователи Kaggle могут попрактиковаться на различных наборах, чтобы проверить свои компетенции в науке о данных и машинном обучении.
В этой статье будет показано, как импортировать наборы данных из Kaggle непосредственно в блокноты Google Colab.
Шаг 1: Выбор любого набора данных из Kaggle
Первый и самый важный шаг — выбор набора данных из Kaggle. Можно выбирать датасеты из конкурсов. Для этой статьи было выбрано два набора данных: один случайный, другой — из действующего конкурса.
Шаг 2: Загрузка учетных данных API
Чтобы загрузить данные из Kaggle, необходимо пройти аутентификацию в сервисах Kaggle. Для этого понадобится API-токен. Его можно сгенерировать в разделе профиля учетной записи пользователя Kaggle.
Сначала перейдите в свой профиль Kaggle:
Теперь откройте вкладку “Account” (“Аккаунт”) и опуститесь до раздела “API” (скриншот из профиля Kaggle).
Будет загружен файл с именем “kaggle.json”, который содержит имя пользователя и ключ API.
Это одноразовый шаг, так что вам не придется генерировать учетные данные всякий раз при загрузке набора данных.
Шаг 3: Настройка блокнота Colab
Запустите блокнот Google Colab и подключите его к облачному экземпляру (по сути, это запуск интерфейса блокнота). Затем загрузите файл “kaggle.json”, скачанный с Kaggle.
Теперь все готово к выполнению команд, необходимых для загрузки набора данных.
Примечание: Здесь будут выполнятся команды на Linux и команды установки, начинающиеся с “!”. Поскольку экземпляры Colab работают на базе Linux, можете запускать все команды Linux в ячейках кода.
Следуйте этим командам:
- Установить библиотеку Kaggle:
! pip install kaggle
2. Создать каталог с именем “.kaggle”:
! mkdir ~/.kaggle
3. Скопировать файл “kaggle.json” в созданный каталог:
! cp kaggle.json ~/.kaggle/
4. Назначить необходимое разрешение для этого файла:
! chmod 600 ~/.kaggle/kaggle.json
Теперь блокнот Golab готов к загрузке наборов данных из Kaggle.
Это все команды, необходимые для настройки блокнота Golab
Шаг 4: Загрузка наборов данных
На Kaggle размещается два типа наборов данных: Competitions (Конкурсы) и Datasets (Датасеты). Процедуры загрузки различных типов данных отличаются незначительными нюансами.
Загрузка набора данных Competitions:
! kaggle competitions download <name-of-competition>
Здесь “name of the competition” — не название жирным шрифтом, отображаемое на заднем плане. Это фрагмент ссылки на competition, который следует после “/c/”. Вот пример ссылки:
“https://www.kaggle.com/c/google-smartphone-decimeter-challenge»
“google-smartphone-decimeter-challenge” — имя competition (конкурса), которое нужно передать команде Kaggle. Эта команда загрузит данные в выделенное хранилище в экземпляре:
Загрузка Datasets:
Эти датасеты не являются частью какого-либо конкурса. Их можно загрузить, выполнив следующее действие:
! kaggle datasets download <name-of-dataset>
Здесь “name of the dataset” — это “user-name/dataset-name” (“имя пользователя/имя набора данных”). Вам нужно просто скопировать текст после “www.kaggle.com/»:
“https://www.kaggle.com/arenagrenade/the-complete-pokemon-images-data-set»
В нашем случае получится: “arenagrenade/the-complete-pokemon-images-data-set”.
При получении набора данных с zip-расширением используйте команду unzip в Linux для извлечения данных:
! unzip <name-of-file>
Бонусные лайфхаки
Лайфхак 1: Загрузка конкретных файлов
Вы уже знаете, как загружать наборы данных из Kaggle в Google Colab. Если же вам нужно загрузить определенный файл, используйте флаг “-f”, за которым следует имя файла. Так вы загрузите только этот конкретный файл. Флаг “-f” работает как для команды competitions, так и для команды datasets.
Пример:
! kaggle competitions download google-smartphone-decimeter-challenge -f baseline_locations_train.csv
Можете ознакомиться с официальной документацией Kaggle API для получения дополнительной информации о возможностях и командах.
Лайфхак 2: Загрузка учетных данных Kaggle из Google Drive
В шаге 3 при настройке блокнота вы загрузили файл “kaggle.json”. Однако файлы, загруженные в хранилище, предоставленное во время настройки блокнота, не сохраняются после завершения работы блокнота.
Поэтому вам нужно загружать файл JSON каждый раз, когда блокнот перезагружается или перезапускается. Чтобы избежать этой ручной работы, выполните следующие действия:
1. Загрузите файл “kaggle.json” на свой Google Drive. Для упрощения задачи стоит загрузить его в корневую папку, а не в какую-либо подструктуру папок.
2. Подключите Google Drive к блокноту:
3. Дайте команды для установки библиотеки Kaggle и создания каталога с именем “.kaggle” (они остаются прежними):
! pip install kaggle!
mkdir ~/.kaggle
4. Скопируйте файл “kaggle.json” из подключенного Google Drive в хранилище текущего экземпляра. Google Drive подключается по пути “./content/drive/MyDrive”. Просто выполните команду copy, используемую в Linux:
!cp /content/drive/MyDrive/kaggle.json ~/.kaggle/kaggle.json
Теперь можно использовать команду для Kaggle competitions и datasets для загрузки наборов данных. Преимущество этого метода в том, что не нужно загружать файл учетных данных при каждом повторном запуске блокнота.
Преимущества использования Google Colab
Google Colab — отличный инструмент для различных исследований данных. Бесплатная поддержка GPU — одно из главных преимуществ Colab. На первых порах начинающие специалисты по обработке данных испытывают нехватку вычислительных ресурсов, поэтому использование Google Colab решает их аппаратные проблемы. Поскольку ноутбуки Colab работают на Linux, можно выполнять все стандартные команды Linux и взаимодействовать с ядром.
Для практикования с наборами данных достаточно оперативной памяти и дискового пространства. Если же ваши исследования требуют дополнительных вычислительных мощностей, можете перейти на “Colab pro”.
Читайте также:
- Управление файлами в Google Colab
- Как стать специалистом по обработке данных: 5 советов
- 10 бесплатных ресурсов для обучения обработке естественного языка
Читайте нас в Telegram, VK и Дзен
Перевод статьи Sooraj S, How Do I Import Kaggle Datasets Into Google Colab?