Você sabe o que é CRISP-DM ?

Paulo Domingues
Bexs.IO
Published in
8 min readNov 19, 2020

CRISP-DM é a abreviação de Cross Industry Standard Process for Data Mining[1], que pode ser traduzido como Processo Padrão Inter-Indústrias para Mineração de Dados. É um modelo de processo de mineração de dados que descreve abordagens comumente usadas por especialistas em mineração de dados para atacar problemas.

O CRIP-DM fornece uma abordagem estruturada para processos de mineração de dados, sendo amplamente utilizada devido à sua poderosa praticidade, flexibilidade.

Uma das informações mais relevantes obtida a partir da leitura de dados é o CRISP-DM, é um ciclo de mineração de dados que pode ser aplicado em qualquer tipo de negócio.

Este ciclo de vida dos dados é composto por seis etapas principais: entendimento do negócio, entendimento dos dados, preparação dos dados, modelagem, avaliação e implantação.

No desenho acima é possível perceber um processo contínuo onde as fases são retroalimentadas de forma contínua, conforme se descobrem novas informações ou aperfeiçoamentos do processo.

1.Compreensão do negócio

Consiste em identificar o problema de negócio que se quer atender. O objetivo são as métricas de sucesso. Por isto é necessário definir os objetivos e requisitos do projeto. Neste processo é necessário incluir a seleção de ferramentas é técnicas.

Importante descrever o plano pretendido para atingir as metas desejadas.

2. Compreensão dos dados

Aqui estamos falando em coletar, organizar e documentar todos os dados que se encontram disponíveis para realizar a análise exploratória. Pensando em um ambiente Bigdata onde são utilizados diversas fontes de dados, é necessário considerar como e quando integrá-las.

Esta é a fase onde os dados mais importantes serão identificados para a resolução do problema. Aqui já é possível identificar a qualidade do dado, padrões e valores extremos além de descobrir algumas hipóteses para serem testadas.

3.Preparação dos dados

Consiste na seleção dos dados, a limpeza e padronização dos dados. Pode ser necessário a enriquecer os dados , ou seja , criar dados auxiliares para complementar o entendimento e a integração de dados, quando estes estão em bases distintas.

4.Modelagem

Uma vez que os dados estão padronizados e consistentes , são selecionadas e aplicadas as técnicas de mineração de dados mais apropriadas, dependendo dos objetivos identificados na primeira fase. Como o uso de análise preditiva ou prescritiva.

Como uma boa prática é escolhido mais de um modelo avaliando a performance e o resultado esperado.

5.Avaliação

É um passo que deve ser feito constantemente para validar o modelo com os objetivos definidos. Isto deve ser feito antes de passar para a última fase.

É preciso avaliar até que ponto o modelo escolhido atende aos objetivos de negócio. Aqui são levantados todas a possibilidades de variações dos dados verificando algum fator que tenha sido esquecido ou negligenciado e que esteja interferindo no resultado do modelo escolhido.

Se o modelo não estiver performando como esperado, devemos retomar a primeira etapa para entender o negócio e os dados.

6.Desenvolvimento

Chegou a hora de colocar o modelo em produção, para que possa ser usado. É importante lembrar que o modelo deve ser monitorado para que ele possa continuar respondendo adequadamente ao negócio e possa evoluir quando necessário.

Caso de Uso

Para nosso caso de uso escolhemos um conjunto de dados retirado do Kaggle.

Este conjunto de dados é composto por 14 colunas e contém detalhes dos clientes de um banco. A variável alvo “Exited” é uma variável binária (0 ou 1) que reflete se o cliente fechou sua conta e saiu do banco ou não.

Compreensão do negócio

O objetivo aqui é tentar entender e responder qual o percentual de pessoas estão saindo do banco. Além disso é preciso entender quais são os recursos que mais impulsionam a rotatividade e com as informações de sexo e idade (informações demográficas) diferem entre a população desistente e não desistente.

Compreensão e Preparação dos Dados

Abaixo é apresentado o dataframe contendo o conjunto de dados. Analisando os dados pecebemos que algumas colunas não são relevantes para nossa análise. São elas: “RowNumber”, “CustomerId” e “Surname”.

Percebemos também que a maioria das colunas é numérica, com exceção das colunas “Geografia” e “Gênero”, que são características categóricas. Vamos fazer um aparte neste ponto.

Uma variável pode ser classificada como um dos seguintes tipos:

1 — Variáveis categóricas

2 — Variáveis quantitativas

Para que fique mais claro , podemos definir variável como a característica que é medida ou avaliada em cada elemento da amostra ou população (Rumsey, 2009).

As variáveis quantitativas são características que podem ser descritas por números, sendo estas classificadas entre contínuas e discretas.

- Variáveis discretas: a variável é avaliada em números que são resultados de contagens e, por isso, somente fazem sentido números inteiros. Exemplos: número de filhos, número de bactérias por litro de leite, número de cigarros fumados por dia.

- Variáveis contínuas: a variável é avaliada em números que são resultados de medições e, por isso, podem assumir valores com casas decimais e devem ser medidas por meio de algum instrumento. Exemplos: massa (balança), altura (régua), tempo (relógio), pressão arterial, idade.

As variáveis qualitativas (ou categóricas) são as características que não possuem valores quantitativos, mas, ao contrário, são definidas por categorias, ou seja, representam uma classificação dos indivíduos. E podem ser nominais ou ordinais.

– Variáveis nominais: não existe ordenação dentre as categorias. Exemplos: sexo, cor dos olhos, fumante/não fumante, doente/sadio.

– Variáveis ordinais: existe uma ordenação entre as categorias. Exemplos: escolaridade (1º, 2º, 3º graus), estágio da doença (inicial, intermediário, terminal), mês de observação (janeiro, fevereiro,…, dezembro).

Voltando para a nossa análise , aplicamos uma função de descrição que nos mostra como as informações distribuídas:

Exemplo:

1 — A idade média em nosso conjunto de dados é de cerca de 38 anos

2 — O saldo varia de um mínimo de 0 a um máximo de 250898 usd

3 — O número máximo de produtos é 4

Abaixo será exibido o percentual de pessoas que sairam e que ficaram.

Como podemos ver, a maioria das pessoas no conjunto de dados permaneceram em torno de 80%, o que acreditamos estar dentro de uma normalidade.

A rotatividade na maioria dos casos diz respeito a uma minoria da população, a menos que o banco esteja enfrentando um sério problema de funcionamento de seus negócios.

Visualização dos Dados

Como podemos ver o histograma abaixo, só confirma o que vimos no resultado da descrição dos dados. Ou seja, a maioria dos clientes tem idade entre 35 e 40 anos

A

Incluindo a variável de destino no histograma percebemos que há uma ligeira diferença entre as duas distribuições.

No gráfico de pizza, podemos ver que a maioria dos clientes do banco é do sexo masculino.

Olhando para a barra empilhada, podemos afirmar que a maioria dos churners são mulheres, enquanto a maioria dos não-churners são homens

Nossos clientes estão localizados em três países diferentes, a saber: França, Alemanha e Espanha. a maioria está baseada na França.

Para a variáveis categóricas foram realizadas algumas transformações antes de da utilização do modelo matemático.

Modelagem e Avaliação

Para este caso de uso iremos utilizar 2 modelos matemáticos. Regressão Logistica e Random Forest.

Muitos iniciantes em ciência de dados pensariam que alcançamos um modelo muito bom em função do resultado da acurácia, mas não vamos apressar as coisas, vamos examinar a matriz de confusão:

É possível notar que , classificamos incorretamente muitos casos! A razão pela qual alcançamos uma alta precisão é devido ao desequilíbrio de dados (lembre-se de 70% dos casos não são churn)

Essa matriz é muito útil para avaliação de seu modelo. Primeiro porque os dados dela descrevem o resultado da classificação de cada registro, e segundo porque é através dela que obtemos as demais métricas como precision, recall e f1_score. Mas isto é um tema para outro artigo.

Para aqueles que não estão familiarizados com a matriz de confusão a figura abaixo pode auxiliar.

Se a predição cai na classe Positivo, quer dizer que o modelo acertou ao dizer que o verdadeiros eram realmente verdadeiros, VP, ou que os falsos eram realmente falsos, VN.

Já se cai na classe Negativo, quer dizer que o modelo errou na predição, a suposição que era negativo quando na verdade era positivo, FN, ou quando era positivo e ele previu negativo, FP.

Resumidamente f1_score é a média harmônica entre precisão e revogação. Com essa informação podemos dizer a performance do classificador com um indicador apenas.

Veja abaixo o f1_score para a Regressão Logistica

Utilizando o Random Forest conseguimos um resultado um pouco melhor, mas não satisfatório.

Como podemos ver os modelos não estão performando de forma adequada. Isto porque os dados devem estar desbalanceados. Aplicando a função baixo para balancear os dados temos o seguinte resultado:

Abaixo segue a matriz de confusão para os dois modelos.

Como você pode ver, obtivemos um melhor desempenho equilibrando os dados.

Aparentemente, idade, pontuação de crédito, salário e o número de produtos que o cliente possui são as principais características que impulsionam o churn.

Conclusão

Através deste documento procuramos demonstrar como fazer uma análise dos clientes de um banco utilizando o método CRISP-DM.

Preparamos os dados, visualizamos e conseguimos criar um modelo de ML para identificar o churn com base nas características mais relavantes. Vimos como escolher a métrica errada durante a avaliação de um modelo de ML pode nos enganar em relação ao seu desempenho. Tentamos diferentes modelos com diferentes técnicas (normalização, balanceamento) para tentar melhorar o desempenho.

Referências

Shearer C. The CRISP-DM model: the new blueprint for data mining. J Data Warehousing 2000;5:13–22.

https://paulovasconcellos.com.br/crisp-dm-semma-e-kdd-conhe%C3%A7a-as-melhores-t%C3%A9cnicas-para-explora%C3%A7%C3%A3o-de-dados-560d294547d2.

https://en.wikipedia.org/wiki/Cross-industry_standard_process_for_data_mining.

https://medium.com/@vilsonrodrigues/machine-learning-o-que-s%C3%A3o-acurracy-precision-recall-e-f1-score-f16762f165b0

https://www.kaggle.com/shrutimechlearn/churn-modelling

--

--