CRISP-DM na prática

Matheus Gonzalez
5 min readJun 24, 2019

--

Este artigo tem como objetivo descrever de maneira prática cada etapa da metodologia CRISP-DM.

O que irá encontrar:

  • Quais os passos necessários durante o ciclo de vida de um projeto de dados
  • O que executar em cada etapa da metodologia
  • O que e quando documentar
  • Estimativa de tempo em cada fase
  • Design Pattern para projetos de dados

CRISP - DM (Cross Industry Standard Process for Data Mining)

1. Business Understanding

A primeira etapa da metodologia consiste em identificar as reais necessidades do projeto. Para isso, podemos seguir os seguintes passos:

  1. Identificar o tema a ser abordado
  2. Levantamento bibliográfico sobre o assunto
  3. Estudo e entendimento do(s) processo(s) dentro da empresa
  4. Ouvir especialistas internos
  5. Concluir entendimento do negócio com ou sem sugestão de melhoria
  6. Pode ser aplicado 5W2H para resolução desta etapa

Ao final desta etapa devemos ser capazes de responder:

  • Qual problema queremos resolver?
  • Por que ele é importante?
  • A partir de uma solução hipotética para o problema, como esta solução afetaria a empresa?
  • Temos capacidade de agir com base nessa solução ou também precisamos desenvolver essa habilidade?
  • Como vamos medir o sucesso da solução implementada (KPI)? O que faria dela um sucesso? Qual métrica será utilizada?

Documentação - Project Plan: Liste os estágios a serem executados no projeto e junto com ele a duração, recursos necessários, inputs/outputs e dependências.

Seu Project Plan deve ser um documento dinâmico, sendo que, ao final de cada etapa será necessário revisar o progresso e conquistas para atualizá-lo de acordo. Revisar os pontos importantes em cada etapa da metodologia deve ser parte do Project Plan.

Data Understanding

Esta etapa consiste em coletar, organizar e documentar todos os dados que se encontram disponíveis para realizar a análise exploratória. Se necessário utilizar diversas fontes de dados, precisará considerar como e quando integrá-las.

Devemos arquitetar e estudar qual será a melhor forma de extrair as informações. Entender a origem de cada conteúdo e softwares que deverão ser mapeados e revisar os dados.

O processo de extração deverá ser definido com toda a equipe, onde áreas e pessoas deverão ser envolvidas e mapeadas para a função. Além disso, formatos de arquivos e variáveis devem ser pré-definidos para evitar inconsistência.

Perguntas a serem respondidas:

  • Os dados estão disponíveis?
  • Qual a dificuldade para extrair os dados? Essa ação é permitida? Temos acesso?
  • Precisamos comprar dados?
  • Definição da variável alvo (modelo supervisionado) ou não (modelo não supervisionado)

Pontos importantes:

  • Identificar quais são os dados importantes para a resolução do problema
  • Analisar a qualidade dos dados, anomalias e outliers
  • Análise exploratória para identificar padrões, obter insights e formular hipóteses

Documentação - Data Description Report: Liste as bases de dados necessárias e seus locais. Descreva os dados adquiridos, incluindo seu formato e tipo, quantifique os registros e colunas de cada tabela, em outras palavras, documente os campos e tabelas a serão utilizados.

Análise exploratória:

  • Avaliação da qualidade do dado
  • Análise descritiva resultado de simples agregações (média, mediana, moda, etc)
  • Análise da distribuição

Esta análise pode endereçar diretamente os objetivos definidos na etapa anterior.

Documentação - Data Exploration Report: Descrever os resultados da análise exploratória, incluindo hipóteses iniciais e seus impactos no projeto. Se apropriado, incluir gráficos para indicar características dos dados.

Data Preparation

Nesta etapa, devemos tratar os dados para nos certificarmos que as informações estão de acordo com o esperado. Consistência de erros e ausência de valores deverão ser resolvidos para que possamos selecionar amostras aleatórias e utilizá-las para treino e testes.

Também será preciso definir métodos de avaliação dos modelos, para que na próxima etapa, possamos avaliar o desempenho dos experimentos antes mesmo de serem avaliados com a equipe de negócio.

Pontos importantes nesta etapa:

  • Tratar valores nulos e dados inconsistentes
  • Criação de dados, se necessário (atributos derivados, atributos construídos a partir de um ou de muitos registros), em geral, tendem a vir de uma operação de agregação
  • Seleção de atributos relevantes para o modelo (feature selection)
  • Seleção da amostra
  • Métodos de avaliação do modelo (accuracy, precision, recall, f1 score, confusion matrix, roc curve, cross validation, etc)

Modeling

Nesta etapa definimos quais modelos testar. Em caso de vários modelos, execute os passos abaixo para cada um deles.

  1. Técnica selecionada: Documente o modelo escolhido
  2. Motivo da escolha: Alguns modelos possuem específicos pressupostos sobre os dados, por exemplo, todos os atributos possuem uma distribuição uniforme, não permitem valores nulos, atributos categóricos precisam ser transformados, etc
  3. Avaliação do modelo: Descreva, de acordo com o modelo escolhido, um plano para treinar, testar e avaliar o modelo desenvolvido
  4. Estimação de hiperparâmetros: Exemplo: GridSearchCV
  5. Descrevendo o modelo: Após treinar e calibrar o modelo, descreva o resultado obtido, o comportamento do modelo e métricas
  6. Transferir conhecimento para área de negócio

Evaluating

Nessa fase, é preciso avaliar os resultados e levantar todas as possibilidades de variações que os dados possam ter, analisando se existe algum fator que tenha sido negligenciado e até que ponto o modelo atende aos objetivos do negócio. Caso o modelo não esteja performando como esperado, devemos retornar a primeira etapa para entender o negócio e os dados.

Devemos sumarizar os resultados em termos de critérios de sucesso definidos no início do projeto. O resultado do modelo deve ser satisfatório tecnicamente e para as necessidades do negócio.

Ao final desta etapa devemos revisar o processo de avaliação focando nas seguintes perguntas:

  • O modelo foi construído conforme esperado e de maneira correta?
  • Foram utilizados apenas atributos permitidos e disponíveis para análises futuras?

Liste as potenciais ações e descreva quais foram as decisões tomadas mediante aos resultados obtidos.

Deployment

Nesta etapa, o modelo é enviado para produção e implementado em protótipo. Será necessário acompanhar a performance do modelo em um período alinhado com a área de negócio. Realizar estratégia de rollout.

Depois do período de avaliação, que pode levar de 3 meses a 2 anos, dependendo do impacto do projeto, o modelo volta para produção e é aplicado em um cluster similar de dados, utilizando um período menor, para em seguida ser implementado com todos os casos.

Em particular, cada projeto possui seu tempo de duração e deve ser planejado de acordo com os recursos disponíveis. Abaixo, segue um exemplo baseado na metodologia CRISP-DM com estimativas de tempo para cada etapa a ser desenvolvida.

Data Science Project Template

Por meio de pesquisas sobre design patterns aplicados a projetos de dados, segue um modelo sugerido onde é possível organizar os scripts e documentos criados durante os ciclos da metodologia: https://github.com/makcedward/ds_project_template

--

--