Organizando um projeto em Ciência de Dados
Como o método CRISP-DM pode te ajudar a estruturar o desenvolvimento do seu projeto de Ciência de Dados.
O CRoss Industry Standard Process for Data Mining (CRISP-DM) foi concebido em 1996 por três veteranos do mercado de mineração de dados, que ainda era um mercado novo e imaturo e estava ganhando cada vez mais atenção. Inconformados com as incertezas da gestão dos projetos, com a falta de visibilidade dos stakeholders quanto ao valor desse tipo de tecnologia, e com o fato de que não existia direcionamento para os novos ingressantes em mineração de dados, juntaram esforços para criar uma metodologia de processo para resolver esses problemas.
Por cerca de 2 anos o CRISP-DM foi desenvolvido e testado em vários projetos em empresas diferentes, contando com a ajuda de membros da comunidade que foram fundamentais para refinar o método. O CRISP-DM é dividido em 6 etapas bem definidas que descrevem o workflow de ciência de dados, se tornando um manual para ajudar organizações a planejar, estruturar e implementar seus projetos de inteligência artificial.
Definição
As 6 etapas que compõe o método estão pontuadas abaixo junto com perguntas que devem ser respondidas em cada uma delas.
1. Entendimento do Negócio: O que o negócio precisa?
2. Entendimento dos Dados: Quais dados temos/precisamos? Está higienizado?
3. Preparação dos Dados: Como organizar os dados para modelagem?
4. Modelagem: Quais tipos de modelos devem ser testados?
5. Avaliação: Qual modelo mais contribui para atingir os objetivos do negócio?
6. Implantação: Como os stakeholders acessam os resultados?
Agora vamos entrar em mais detalhes em cada umas dessas etapas.
1. Entendimento do negócio
A etapa de Entendimento do negócio o foco é entender os objetivos e os requisitos do projeto. Muitos times acabam não dando a devida atenção para essa etapa e esquecem que garantir um forte entendimento do negócio é como construir a fundação de uma casa, indispensável.
Podemos dividir essa etapa em 4 temas principais, são eles:
- Determinar Objetivo do negócio: O primeiro passo é entender a fundo a tarefa que o cliente realmente deseja realizar, e então definir as métricas de sucesso do produto.
- Avaliar requisitos: Listas os recursos disponíveis, os requisitos do projeto, avaliar riscos e contingências, e conduzir uma análise de custo-benefício.
- Determinar objetivo de data mining: Complementando a definição do objetivo de negócio também é necessário definir qual é o caso de sucesso no ponto de vista técnico de mineração de dados.
- Fazer um plano de projeto: Selecionar quais tecnologias e ferramentas serão utilizadas e definir um plano detalhado de cada etapa do projeto.
2. Entendimento dos dados
O próximo passo é o Entendimento dos dados. Complementando o Entendimento do negócio o foco nessa etapa é identificar, coletar e analisar as bases de dados que podem contribuir com o sucesso dos objetivos do projeto. Para melhor organização essa etapa é dividida em 4 tópicos. São eles:
- Coletar dados iniciais: Adquirir os dados necessários e (se julgar necessário) carregar os dados em uma ferramenta de análise.
- Descrever dados: Documentar as propriedades dos dados, como, qual é o formato dos dados, o número de ocorrência deles, o nome das tabelas e dos campos no banco de dados, e como acessá-los.
- Explorar os dados: Aprofunde ainda mais nos dados. Faça querys, gráficos e visualize os dados buscando extrair valor ou melhor entendimento sobre eles.
- Verificar qualidade dos dados: Existe dados faltando? Existe alguma inconsistência nas bases? Qualquer problema encontrado deve ser documentado e passado para o time responsável.
3. Preparação dos Dados
Essa etapa consiste em preparar o data set final para modelagem. Ele é dividido em 5 etapas:
- Selecionar dado: Determinar quais data sets serão utilizados e o motivo de inclusão/exclusão de cada atributo.
- Limpar dado: É comum essa ser a tarefa mais demorada. O objetivo é não permitir que dados errados atrapalhem, evitando o famoso “garbage-in, garbage-out”. Uma boa prática é corrigir ou remover dados errados/duplicados.
- Construir dado: Gerar novos atributos a partir dos já existentes que possam ser úteis. Por exemplo, a partir da data de nascimento criar um atributo idade.
- Integrar dado: Criar data sets combinando dados de múltiplas fontes.
- Formatar dado: Formatar o dado conforme necessidade. Por exemplo, converter um valor string para inteiro, permitindo aplicar operações matemáticas.
4. Modelagem
Nessa etapa o cientista vai construir e validar diferentes modelos. É dividido em 4 partes:
- Selecionar técnicas de modelagem: Determinar quais algoritmos serão testados. Por exemplo, um modelo de regressão, uma rede neural, ou uma arvore de decisão.
- Gerar o design do teste: Separar as bases de treinamento, teste e validação. Definir a métrica de sucesso do modelo (acurácia, precisão, f1).
- Construir o modelo: A parte mais atraente do processo, é a hora de construir o modelo. Pode ser tão simples quanto um “LinearRegression().fit(X, y)” ou mais complicado como criar uma rede neural profunda (deep learning).
- Validar modelos: Geralmente vários modelos são testados com diferentes parâmetros. Nessa etapa o cientista de dados precisa interpretar o desempenho dos modelos levando em consideração o conhecimento do domínio e as métricas definidas no design de teste.
O CRISP-DM sugere que se itere nas etapas de construção e validação dos modelos até o cientista de dados acreditar que encontrou o melhor modelo.
5. Avaliação
Enquanto a validação do modelo na etapa de Modelagem foca na validação técnica do modelo, essa etapa de Avaliação o principal objetivo é definir qual modelo melhor se encaixa no negócio e quais são os próximos passos. Essa etapa é composta por 3 tarefas:
- Avaliar resultados: Os modelos atingem o critério de sucesso do negócio? Quais podem ser aprovados para o negócio?
- Review do processo: Review do trabalho realizado. Todas as etapas foram devidamente realizadas? Alguma fase foi muito difícil? Documentar o que foi encontrado e corrigir o que for necessário.
- Determinar próximos passos: Baseado nas tarefas concluídas determinar se avança para a fase de implantação, se é necessária mais iteração nas fases anteriores, ou se deve iniciar um novo projeto.
6. Implantação
Um modelo só é útil quando o cliente final consegue utilizar os seus resultados para seu benefício. Os resultados de um modelo podem ser acessados de várias formas diferentes, cada uma com suas complexidades. Apesar de ser a última etapa do processo, o trabalho pode não acabar aqui, e eventualmente, o modelo precisa de ser constantemente monitorado e atualizado. Essa etapa é dividida em 4 tarefas.
- Planejar deployment: Desenvolver e documentar as etapas para deployment do modelo. Como o usuário vai acessar os resultados? O processamento vai ser por batch ou por stream?
- Monitorar e manutenção: Desenvolver um plano para monitorar o resultado do modelo e um plano de manutenção caso algum problema apareça durante a fase de operação do modelo.
- Fazer relatório final: Relatório com um resumo do projeto e uma apresentação final sobre o produto com as experiências e dificuldades encontradas.
- Review do projeto: Retrospectiva sobre o que foi bom e o que foi ruim, e como ser melhor no futuro.
Pontos fortes
- Generalizável: Apesar de ter sido desenvolvido para problema de mineração de dados o CRISP-DM também é aplicável aos problemas mais atuais de ciência de dados.
- Intuitivo: Os conceitos desse método são bem intuitivos e de fácil compreensão.
- Fácil implantação: CRISP-DM pode ser implementado sem muito treinamento nem mudanças organizacionais.
- Começa no lugar certo: O foco inicial desse processo é o Entendimento do negócio e isso garante que o time técnico esteja alinhado com o que o negócio precisa, e evita que os cientistas de dados pulem direto para o problema sem entender quais são os objetivos do negócio.
- Final claro: A última etapa desse processo é a Implantação que define como encerrar e entregar o projeto.
- Flexível: Uma implementação do CRISP-DM pode ser ajustada para atender as práticas do desenvolvimento ágil, incorporando os aprendizados de cada ciclo nas próximas iterações.
Pontos fracos
- Engessado: Tem a mesma fraqueza do Waterfall de impedir iterações rápidas.
- Muita documentação: Todas as tarefas desse processo finalizam com uma documentação, o que pode gastar muita energia que poderia ser usada para desenvolver novos incrementos.
- Antigo: O CRISP-DM foi concebido em uma época anterior à big data, e por isso pode não ser adequado para essas ferramentas mais atuais.
- Não é uma abordagem para gerenciamento de projeto: CRISP-DM não é um verdadeiro método de gerenciamento de projeto porque não tem detalhado como coordenar várias pessoas no time em um grande projeto.
Agora que você já sabe como organizar o seu projeto de Ciência de Dados é hora de aplicar esse conhecimento e começar a desenvolver o seu projeto. Em outro post irei falar um pouco sobre como utilizar metodologia ágil junto com o que vimos aqui sobre o CRISP-DM.