Objetivo : Desenvolver um recomendador de vídeos do youtube
Nivel Conhecimento : Intermediário à avançado
Antes mesmo de iniciar um projeto de ciência de dados, você deve definir o problema que deverá ser resolvido. O problema deverá estar diretamente relacionado ao objetivo do requisito do negócio.
Definir o problema é uma responsabilidade do cientista de dados com o time de negócios, responsabilidade bilateral.
Em nosso projeto : O problema é ' Muito tempo gasto buscando novos vídeos disponíveis no youtube '.
O Cientista de dados é o especialista em sua área, é seu trabalho guiar/ajudar a organização a encontrar o que quer e/ou o que precisa.
O Cientista de dados deve ser capaz de traduzir as questões de negócio ao seu "botão-mágico-para-conquistar-o-mundo-da-nuvem" em algo que possa ser resolvido matematicamente e com seus dados.
Definir a melhor solução é responsabilidade do Cientista de dados com o time de negócios, responsabilidade bilateral. É um processo iterativo.
Nota : Como processo iterativo entenda desenhando e apresentando a solução aos parceiros de negócios até chegar ao problema e a solução ideal diretamente relacionada a este problema.
Em nosso projeto : A solução ideal é ' Listar apenas vídeos que eu vou gostar '.
O Cientista de dados analisa o processo da organização e o relaciona ao problema definido versus a melhor solução definida, então desenvolve o algoritmo machine learning sob determinadas amostras. O algoritmo deve ter um resultado igual ou melhor que o esperado.
Nota : O Cientista de dados é uma ferramenta a mais para resolver os problemas do negócio.
Em nosso projeto : Criaremos um Recomendador de vídeos que irá executar um ou mais dos processos a seguir :
- Exibir apenas os vídeos que eu vou gostar
- Criar Solução com Hanking dos vídeos que primeiramente eu vou gostar seguido dos que eu menos vou gostar
- Estabelecer uma abordagem de ponto corte : Retornar apenas 3 que eu vou gostar
- Abordagem de ranking : ordenar dos vídeos eu mais vou gostar aos que eu menos vou gostar
- Consultará pelas seguintes palavras chave : machine-learning, kaggle, datascience
O Cientista de dados analisa o resultado retornado, como este resultado será apresentado e define como devem ser tratados os novos dados.
O resultado pode ser apresentado em um Web app, ERP system, Dashboard, Excel, etc...
Em primeiro momento é responsabilidade do Cientista de dados definir como a solução será usada produtivamente. Após ter o modelo definitivo o Cientista de dados com o time de negócios estabelecem como a solução será usada definitivamente em produção.
Em nosso projeto : criaremos um Web App com os vídeos (links) e as previsões ordenadas e com os seguintes dados : Título, Label, Anotações, Descrição
O Cientista de dados define as métricas de acordo com a área de negócio e dados obtidos, então compara os resultados entre solução machine learning e os resultados atualmente conquistados sem machine learning.
Deve haver uma métrica primária e uma ou mais métricas secundárias.
Em nosso projeto :
- A métrica primária será : Top N vídeos incluo na lista watch later
- As métricas secundárias podem ser :
- Quantidades N de vídeos assistidos até o final
- Tempo X investido selecionando os vídeos recomendados por Machine Learning
- Os top N recomendados por Machine Learning são mais assistidos do que os top N da busca google ? : [YES] [NO]
Importante :
Definir um problema ja resolvido diversas vezes e a melhor solução à este problema com etapas rápidas e digamos "imperfeitas" é a melhor forma de sairmos do estado zero.
Cientista de dados deve considerar que :
- Passos 01 e 02 : serve para entender todo o processo do negócio, para definir o problema e a melhor solução.
- Passos 03 e 04 : serve para desenvolver o modelo machine learning sob os processos e métricas do negócio.
- Passo 05 : serve para testar o modelo machine learning desenvolvido sob os processos e métricas do negócio e disponibilizá-lo em produção.
Nesta etapa o Cientista de dados aplicará todas as técnicas para tornar os dados em perfeita conformidade ao modelo de predição que será desenvolvido
Os dados podem ser coletados das seguintes fontes :
- banco de dados relacional e estruturado
- banco de dados NoSQL
- buscando na internet (scraping)
- de imagens
- de emails
- com as pessoas envolvidas no processo
- planilhas excel
- redes sociais
- sensores
- documentos word/pdf e similares
- detectar se há os dados que precisa para desenvolver a solução
- analisar o tipo de cada dado : string, objeto, float, inteiro
- analisar o conteúdo de cada dado
- analisar a correlação entre os dados
- Detectar padrões entre os dados
- Detectar tendências entre os dados
- remover dados redundantes
- trabalhar nos dados faltantes
- trabalhar nos dados duplicados
- trabalhar nos dados desnecessários
- de objetos para data
- de objetos para string
- de data para string
- categóricos para numéricos
- Detectar padrões entre os dados
- Detectar tendências entre os dados
Nesta fase o Cientista de dados separa seu conjunto de dados nas seguinte proporções :
- Uma proporção para treinar o modelo, conhecido como conjunto de dados de treino
- Uma proporção para testar a eficiência do modelo, conhecido com conjunto de dados de teste
Esta fase serve para melhorar a eficiência do modelo de dados, e realizar mais predições acuradas.
O objetivo final é implantar o modelo de dados em ambiente de validação ou em ambiente de produção para aceitação dos usuários
Os usuários deverão testar o desempenho dos modelos de dados e verificar se há qualquer inconsistências com os modelos, que serão corrigidos pelo Cientista de dados.
Fonte