4 maneiras exclusivas de obter conjuntos de dados para seu projeto de aprendizado de máquina
Dados insuficientes costumam ser um dos maiores contratempos para a maioria dos projetos de ciência de dados. No entanto, saber como coletar dados para qualquer projeto em que deseja embarcar é uma habilidade importante que você precisa adquirir como cientista de dados.
Cientistas de dados e engenheiros de aprendizado de máquina agora usam técnicas modernas de coleta de dados para adquirir mais dados para algoritmos de treinamento. Se você está planejando embarcar em seu primeiro projeto de ciência de dados ou aprendizado de máquina, também precisa obter dados.
Como você pode tornar o processo mais fácil para você? Vamos dar uma olhada em algumas técnicas modernas que você pode usar para coletar dados.
Por que você precisa de mais dados para seu projeto de ciência de dados
Os algoritmos de aprendizado de máquina dependem dos dados para se tornarem mais precisos, precisos e preditivos. Esses algoritmos são treinados usando conjuntos de dados. O processo de treinamento é um pouco como ensinar a uma criança o nome de um objeto pela primeira vez, e depois permitir que ela o identifique sozinha na próxima vez que o vir.
Os seres humanos precisam apenas de alguns exemplos para reconhecer um novo objeto. Isso não é verdade para uma máquina, pois ela precisa de centenas ou milhares de exemplos semelhantes para se familiarizar com um objeto.
Esses exemplos ou objetos de treinamento precisam vir na forma de dados. Em seguida, um algoritmo de aprendizado de máquina dedicado executa esse conjunto de dados chamado conjunto de treinamento – e aprende mais sobre ele para se tornar mais preciso.
Isso significa que, se você não fornecer dados suficientes para treinar seu algoritmo, poderá não obter o resultado correto ao final do projeto porque a máquina não tem dados suficientes para aprender.
Portanto, é necessário obter dados adequados para melhorar a precisão do seu resultado. Vamos ver algumas estratégias modernas que você pode usar para conseguir isso a seguir.
1. Extração de dados diretamente de uma página da web

Web scraping é uma forma automatizada de obter dados da web. Em sua forma mais básica, web scraping pode envolver copiar e colar os elementos de um site em um arquivo local.
No entanto, web scraping também envolve escrever scripts especiais ou usar ferramentas dedicadas para copiar dados de uma página da web diretamente. Também pode envolver uma coleta de dados mais aprofundada usando interfaces de programação de aplicativos (APIs) como o Serpstack .
Embora algumas pessoas acreditem que o web scraping pode levar à perda de propriedade intelectual, isso só pode acontecer quando as pessoas o fazem de forma maliciosa. O scraping da Web é legal e ajuda as empresas a tomar melhores decisões, reunindo informações públicas sobre seus clientes e concorrentes.
Por exemplo, você pode escrever um script para coletar dados de lojas online para comparar preços e disponibilidade. Embora possa ser um pouco mais técnico, você também pode coletar mídia bruta como arquivos de áudio e imagens na web.
Dê uma olhada no código de exemplo abaixo para ter uma ideia do web scraping com a biblioteca de analisador de HTML beautifulsoup4 do 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())
Antes de executar o código de exemplo, você precisará instalar a biblioteca. Crie um ambiente virtual a partir da linha de comando e instale a biblioteca executando pip install beautifulsoup4 .
2. Via formulários da web

Você também pode aproveitar os formulários online para coleta de dados. Isso é mais útil quando você tem um grupo-alvo de pessoas de quem deseja coletar dados.
Uma desvantagem de enviar formulários da web é que você pode não coletar tantos dados quanto deseja. É muito útil para pequenos projetos de ciência de dados ou tutoriais, mas você pode encontrar restrições ao tentar alcançar um grande número de pessoas anônimas.
Embora existam serviços pagos de coleta de dados online, eles não são recomendados para indivíduos, pois são, em sua maioria, muito caros – exceto se você não se importar em gastar algum dinheiro no projeto.
Existem vários formulários da web para coletar dados de pessoas. Um deles é o Formulários Google, que pode ser acessado em forms.google.com . Você pode usar o Formulários Google para coletar informações de contato , dados demográficos e outros detalhes pessoais.
Depois de criar um formulário, tudo o que você precisa fazer é enviar o link para seu público-alvo por e-mail, SMS ou qualquer outro meio disponível.
No entanto, o Formulários Google é apenas um exemplo de formulários da web populares. Existem muitas alternativas por aí que também fazem excelentes trabalhos de coleta de dados.
3. Via mídia social

Você também pode coletar dados por meio de meios de comunicação sociais como Facebook, LinkedIn, Instagram e Twitter. Obter dados das redes sociais é um pouco mais técnico do que qualquer outro método. É totalmente automatizado e envolve o uso de diferentes ferramentas de API.
A mídia social pode ser difícil de extrair dados, pois é relativamente desorganizada e possui uma grande quantidade dela. Organizado adequadamente, este tipo de conjunto de dados pode ser útil em projetos de ciência de dados que envolvem análise de sentimentos online, análise de tendências de mercado e branding online.
Por exemplo, o Twitter é um exemplo de fonte de dados de mídia social onde você pode coletar um grande volume de conjuntos de dados com seu pacote tweepy Python API, que pode ser instalado com o comando pip install tweepy .
Para obter um exemplo básico, o bloco de código para extrair os tweets da página inicial do Twitter se parece com este:
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)
Você pode visitar o site docs.tweepy.org para acessar a documentação tweepy para obter mais detalhes sobre como usá-lo. Para usar a API do Twitter, você precisa se inscrever para uma conta de desenvolvedor acessando o site developer.twitter.com .
O Facebook é outra plataforma de mídia social poderosa para coleta de dados. Ele usa um terminal de API especial chamado Facebook Graph API. Esta API permite que os desenvolvedores coletem dados sobre o comportamento de usuários específicos na plataforma do Facebook. Você pode acessar a documentação da API Graph do Facebook em developers.facebook.com para saber mais sobre ela.
Uma explicação detalhada da coleta de dados de mídia social com API está além do escopo deste artigo. Se estiver interessado em saber mais, você pode verificar a documentação de cada plataforma para um conhecimento aprofundado sobre elas.
Além de escrever scripts para se conectar a um endpoint de API, ferramentas de coleta de dados de mídia social de terceiros, como Scraping Expert e muitas outras, também estão disponíveis. No entanto, a maioria dessas ferramentas da web tem um preço.
4. Coleta de conjuntos de dados pré-existentes de fontes oficiais
Você também pode coletar conjuntos de dados pré-existentes de fontes confiáveis. Este método envolve visitar bancos de dados oficiais e baixar conjuntos de dados verificados deles. Ao contrário de web scraping e outras opções, esta opção é mais rápida e requer pouco ou nenhum conhecimento técnico.
Os conjuntos de dados nesses tipos de fontes geralmente estão disponíveis nos formatos CSV, JSON, HTML ou Excel. Alguns exemplos de fontes de dados confiáveis são Banco Mundial , UNdata e vários outros.
Algumas fontes de dados podem tornar os dados atuais privados para evitar que o público os acesse. No entanto, seus arquivos estão frequentemente disponíveis para download.
Mais fontes de conjuntos de dados oficiais para seu projeto de aprendizado de máquina
Essa lista deve ser um bom ponto de partida para obter diferentes tipos de dados para trabalhar em seus projetos.
- Portal de dados abertos da UE
- Conjuntos de dados Kaggle
- Pesquisa de conjunto de dados do Google
- Hub de dados
- Registro de dados abertos na AWS
- Agência Governamental Europeia – Dados e Mapas
- Microsoft Research Open Data
- Repositório de conjuntos de dados públicos incrível no GitHub
- Data.Gov: a casa dos dados abertos do governo dos EUA
Existem muito mais fontes do que isso, e uma pesquisa cuidadosa irá recompensá-lo com dados perfeitos para seus próprios projetos de ciência de dados.
Combine essas técnicas modernas para obter melhores resultados
A coleta de dados pode ser entediante quando as ferramentas disponíveis para a tarefa são limitadas ou difíceis de compreender. Embora os métodos mais antigos e convencionais ainda funcionem bem e sejam inevitáveis em alguns casos, os métodos modernos são mais rápidos e confiáveis.
No entanto, em vez de depender de um único método, uma combinação dessas formas modernas de coleta de dados tem o potencial de produzir melhores resultados.