Análise de Big Data - Definição do Problema

Através deste tutorial, desenvolveremos um projeto. Cada capítulo subsequente neste tutorial trata de uma parte do projeto maior na seção de miniprojetos. Esta é considerada uma seção de tutorial aplicada que fornecerá exposição a um problema do mundo real. Nesse caso, começaríamos com a definição do problema do projeto.

Descrição do Projeto

O objetivo deste projeto seria desenvolver um modelo de aprendizado de máquina para prever o salário por hora das pessoas usando o texto do seu curriculum vitae (CV) como entrada.

Usando a estrutura definida acima, é simples definir o problema. Podemos definir X = {x 1 , x 2 ,…, x n } como os currículos dos usuários, onde cada característica pode ser, da forma mais simples possível, a quantidade de vezes que essa palavra aparece. Então a resposta é avaliada em reais, estamos tentando prever o salário por hora dos indivíduos em dólares.

Essas duas considerações são suficientes para concluir que o problema apresentado pode ser resolvido com um algoritmo de regressão supervisionado.

Definição de problema

Problem Definitioné provavelmente um dos estágios mais complexos e negligenciados no pipeline de análise de big data. Para definir o problema que um produto de dados resolveria, a experiência é obrigatória. A maioria dos aspirantes a cientistas de dados tem pouca ou nenhuma experiência nesse estágio.

A maioria dos problemas de big data pode ser categorizada das seguintes maneiras -

  • Classificação supervisionada
  • Regressão supervisionada
  • Aprendizagem não supervisionada
  • Aprendendo a classificar

Vamos agora aprender mais sobre esses quatro conceitos.

Classificação Supervisionada

Dada uma matriz de características X = {x 1 , x 2 , ..., x n } desenvolvemos um modelo M para prever diferentes classes definidas como y = {c 1 , c 2 , ..., c n } . Por exemplo: Dados os dados transacionais de clientes em uma seguradora, é possível desenvolver um modelo que irá prever se um cliente se desligaria ou não. O último é um problema de classificação binária, onde existem duas classes ou variáveis ​​de destino: churn e não churn.

Outros problemas envolvem prever mais de uma classe, poderíamos estar interessados ​​em fazer o reconhecimento de dígitos, portanto, o vetor de resposta seria definido como: y = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} , um modelo de última geração seria uma rede neural convolucional e a matriz de recursos seria definida como os pixels da imagem.

Regressão Supervisionada

Nesse caso, a definição do problema é bastante semelhante ao exemplo anterior; a diferença depende da resposta. Em um problema de regressão, a resposta y ∈ ℜ, isso significa que a resposta tem um valor real. Por exemplo, podemos desenvolver um modelo para prever o salário por hora de indivíduos com base no corpus de seu currículo.

Aprendizagem Não Supervisionada

A administração geralmente está sedenta por novos insights. Os modelos de segmentação podem fornecer esse insight para que o departamento de marketing desenvolva produtos para diferentes segmentos. Uma boa abordagem para desenvolver um modelo de segmentação, em vez de pensar em algoritmos, é selecionar recursos que sejam relevantes para a segmentação desejada.

Por exemplo, em uma empresa de telecomunicações, é interessante segmentar os clientes pelo uso do celular. Isso envolveria desconsiderar recursos que nada têm a ver com o objetivo da segmentação e incluir apenas aqueles que têm. Nesse caso, seria selecionar recursos como o número de SMS usados ​​em um mês, o número de minutos de entrada e saída, etc.

Aprendendo a classificar

Esse problema pode ser considerado um problema de regressão, mas tem características particulares e merece um tratamento separado. O problema envolve dada uma coleção de documentos, procuramos encontrar a ordem mais relevante dada uma consulta. Para desenvolver um algoritmo de aprendizagem supervisionada, é necessário rotular o quão relevante é uma ordenação, dada uma consulta.

É relevante notar que, para desenvolver um algoritmo de aprendizagem supervisionada, é necessário rotular os dados de treinamento. Isso significa que para treinar um modelo que irá, por exemplo, reconhecer dígitos de uma imagem, precisamos rotular uma quantidade significativa de exemplos à mão. Existem serviços da web que podem acelerar esse processo e são comumente usados ​​para essa tarefa, como o turk mecânico amazon. Está provado que algoritmos de aprendizagem melhoram seu desempenho quando fornecidos com mais dados, então rotular uma quantidade decente de exemplos é praticamente obrigatório na aprendizagem supervisionada.