4 уникальных способа получить наборы данных для вашего проекта машинного обучения

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

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

Как можно облегчить себе этот процесс? Давайте посмотрим на некоторые современные методы, которые вы можете использовать для сбора данных.

Зачем вам нужно больше данных для вашего проекта по науке о данных

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

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

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

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

Итак, необходимо получить адекватные данные, чтобы повысить точность вашего результата. Давайте посмотрим на некоторые современные стратегии, которые вы можете использовать для этого ниже.

1. Сбор данных прямо с веб-страницы

Веб-скрапинг – это автоматический способ получения данных из Интернета. В своей основной форме парсинг веб-страниц может включать в себя копирование и вставку элементов веб-сайта в локальный файл.

Однако очистка веб-страниц также включает в себя написание специальных сценариев или использование специальных инструментов для очистки данных непосредственно с веб-страницы. Это также может включать более глубокий сбор данных с использованием интерфейсов прикладного программирования (API), таких как Serpstack .

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

Связанный: Что такое парсинг веб-страниц? Как собирать данные с веб-сайтов

Например, вы можете написать сценарий для сбора данных из интернет-магазинов для сравнения цен и наличия. Хотя это может быть немного более техническим, вы также можете собирать необработанные медиафайлы, такие как аудиофайлы и изображения, через Интернет.

Взгляните на приведенный ниже пример кода, чтобы получить представление о парсере веб-страниц с помощью библиотеки синтаксического анализатора HTML beautifulsoup4 Python.

 from bs4 import BeautifulSoup
from urllib.request import urlopen
url = "Enter the full URL of the target webpage here"
targetPage = urlopen(url)
htmlReader = targetPage.read().decode("utf-8")
webData = BeautifulSoup(htmlReader, "html.parser")
print(webData.get_text())

Перед запуском примера кода вам необходимо установить библиотеку. Создайте виртуальную среду из командной строки и установите библиотеку, запустив pip install beautifulsoup4 .

2. Через веб-формы

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

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

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

Существуют различные веб-формы для сбора данных от людей. Одним из них является Google Forms, к которому вы можете получить доступ, перейдя на forms.google.com . Вы можете использовать Google Forms для сбора контактной информации , демографических данных и других личных данных.

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

Однако Google Forms – лишь один из примеров популярных веб-форм. Есть много альтернатив, которые также отлично справляются со сбором данных.

3. Через социальные сети

Вы также можете собирать данные через социальные сети, такие как Facebook, LinkedIn, Instagram и Twitter. Получение данных из социальных сетей немного сложнее, чем любой другой метод. Он полностью автоматизирован и предполагает использование различных инструментов API.

Извлечение данных из социальных сетей может быть затруднительным, поскольку они относительно неорганизованы и их огромное количество. Правильно организованный набор данных этого типа может быть полезен в проектах по анализу данных, включающих онлайн-анализ настроений, анализ рыночных тенденций и онлайн-брендинг.

Например, Twitter является примером источника данных в социальных сетях, где вы можете собирать большой объем наборов данных с помощью его tweepy пакета Python API, который вы можете установить с помощью команды pip install tweepy .

В качестве базового примера блок кода для извлечения твитов домашней страницы Twitter выглядит следующим образом:

 import tweepy
import re
myAuth = tweepy.OAuthHandler(paste consumer_key here, paste consumer_secret key here)
auth.set_access_token(paste access_token here, paste access_token_secret here)
authenticate = tweepy.API(myAuth)
target_tweet = api.home_timeline()
for targets in target_tweet:
print(targets.text)

Вы можете посетить веб-сайт docs.tweepy.org, чтобы получить доступ к документации tweepy для получения дополнительных сведений о том, как ее использовать. Чтобы использовать API Twitter, вам необходимо подать заявку на создание учетной записи разработчика, перейдя на сайт developer.twitter.com .

Facebook – еще одна мощная платформа социальных сетей для сбора данных. Он использует специальную конечную точку API, которая называется Facebook Graph API. Этот API позволяет разработчикам собирать данные о поведении конкретных пользователей на платформе Facebook. Вы можете получить доступ к документации Facebook Graph API на сайте developers.facebook.com, чтобы узнать об этом больше.

Подробное объяснение сбора данных в социальных сетях с помощью API выходит за рамки этой статьи. Если вам интересно узнать больше, вы можете ознакомиться с документацией каждой платформы, чтобы получить более подробные сведения о них.

Помимо написания сценариев для подключения к конечной точке API, также доступны инструменты для сбора данных из социальных сетей, такие как Scraping Expert и многие другие. Однако большинство этих веб-инструментов имеют свою цену.

4. Сбор уже существующих наборов данных из официальных источников.

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

Наборы данных для этих типов источников обычно доступны в форматах CSV, JSON, HTML или Excel. Некоторыми примерами авторитетных источников данных являются Всемирный банк , UNdata и некоторые другие.

Некоторые источники данных могут сделать текущие данные конфиденциальными, чтобы предотвратить доступ к ним общественности. Однако их архивы часто доступны для скачивания.

Дополнительные официальные источники наборов данных для вашего проекта машинного обучения

Этот список должен стать хорошей отправной точкой для получения различных типов данных для работы в ваших проектах.

Существует гораздо больше источников, чем этот, и тщательный поиск вознаградит вас данными, идеально подходящими для ваших собственных проектов в области науки о данных.

Объедините эти современные методы для получения лучших результатов

Сбор данных может быть утомительным, когда доступные инструменты для задачи ограничены или трудны для понимания. Хотя старые и традиционные методы по-прежнему работают и в некоторых случаях неизбежны, современные методы работают быстрее и надежнее.

Однако вместо того, чтобы полагаться на один метод, сочетание этих современных способов сбора данных может дать лучшие результаты.