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.