Descomplicando Machine Learning - Parte III
Published: 2023-11-11 06:32:24

### Motivação

No último artigo da série, discutimos diversos desafios enfrentados por iniciantes na área, que vão desde crenças autolimitantes até a procrastinação, frequentemente justificada pela espera do momento ideal para iniciar uma carreira como engenheiro de machine learning. Agora, para aqueles que acabaram de chegar aqui por acaso, recomendo iniciar sua jornada lendo este [artigo](https://dev.to/tandavala/descomplicando-machine-learning-parte-i-2b2f) para se familiarizarem com o projecto.

Hoje, nossa jornada começa a ganhar impulso, e a partir de agora, vamos pôr a mão na massa. No final, completaremos o projeto funcional para enriquecer o portfólio de projetos paralelos. Para aceder o [notebook do projeto](https://medium.com/@pedrofullstack/introdu%C3%A7%C3%A3o-ao-jupyter-notebook-para-python-b2cf79cea31d), clique neste [link](https://www.kaggle.com/code/tandavala/modelagem-preditiva-de-pre-os-residenciais/notebook). Minha recomendação é que abra seu próprio notebook e programe em paralelo comigo.


### pre-requisito

Para quem deseja pôr a mão na massa comigo, há três opções disponíveis:

- Utilize o [Google Colab](https://colab.research.google.com/).
- Utilize o [Kaggle](https://www.kaggle.com/) (minha recomendação).
- Instale o [Anaconda](https://www.anaconda.com/download) em seu computador


### Entendendo CRISP-DM na prática

Segundo a wikipedia [CRISP-DM](https://pt.wikipedia.org/wiki/Cross_Industry_Standard_Process_for_Data_Mining) é a abreviação de Cross Industry Standard Process for Data Mining, que pode ser traduzido como Processo Padrão Inter-Indústrias para Mineração de Dados. Ele descreve abordagens comumente usadas por especialistas em mineração de dados para atacar problemas.O CRISP-DM consiste em seis fases sequenciais, a saber:

1. Compreensão do negócio (**Business understanding**) – O que o negócio precisa?
2. Compreensão dos dados (**Data understanding**) – Que dados temos/precisamos? Estão limpos?
3. Preparação dos dados (**Data preparation**) – Como organizamos os dados para modelagem?
4. Modelagem (**Modeling**) – Quais técnicas de modelagem devemos aplicar?
5. Avaliação (**Evaluation**) – Qual modelo atende melhor aos objetivos do negócio?
6. Implantação (**Deployment**) – Como os interessados acessam os resultados?

Neste artigo veremos as fases 1, 2 e o 3 do [CRISP-DM](https://www.datascience-pm.com/crisp-dm-2/). Estás pronto para começar?

### 1. Compreensão do negócio

É fundamental compreender os objetivos e requisitos do negócio, pois isso permite a subsequente transformação desses objetivos em metas de mineração de dados. No [notebook](https://www.kaggle.com/code/tandavala/modelagem-preditiva-de-pre-os-residenciais/notebook) do projeto, durante a primeira fase do **CRISP-DM**, detalhamos minuciosamente os objetivos da fictícia empresa Vitari Imobiliárias. Ao final desta etapa, convertemos esses requisitos em metas específicas de mineração de dados, delineando o projeto da empresa para a construção de um modelo preditivo de aprendizado de máquina. Veja o print abaixo.

![Entendendo o negócio](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6dkuhcqzphnqj2m39y3c.png)

Minha sugestão é que você crie sua própria empresa fictícia e pratique cada fase do CRISP-DM, acompanhando-me com seu notebook aberto. Isso proporcionará uma experiência prática e enriquecedora.  

### 2. Compreensão dos dados

Todo modelo de aprendizado de máquina é orientado a dados. No nosso caso, estamos abordando um problema no setor imobiliário, com foco no desenvolvimento de um modelo de aprendizado de máquina que prevê os preços de casas no estado da Califórnia, nos Estados Unidos. Para o efeito usamos o dataset da [statlib](https://lib.stat.cmu.edu/datasets/), e quanto as ferramentas usamos o pandas para carregar os dados. Veja no print abaixo 

![Compreensão dos dados](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/83a7zz89536es4tckzrz.png)

Nesta fase do projeto, utilizamos os conceitos de análise de dados para criar gráficos fundamentais que auxiliam na compreensão e interpretação dos atributos do conjunto de dados. No final desse processo, por meio dos gráficos construídos, constatamos uma forte associação entre os preços dos imóveis e sua localização, destacando-se especialmente a proximidade ao mar e a densidade populacional.

![Analisar a relação dos preços](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ksqz80sobewduxqjk9y.png)


### 3. Preparação dos dados

Esta é a fase do projeto em que o engenheiro de machine learning dedica mais de 80% do seu tempo, coletando os dados necessários, explorando-os para compreender sua qualidade, conteúdo e estrutura, e identificando possíveis problemas. No nosso caso, aqui estão os pontos que abordamos nesta fase:

- **Seleção de Características Relevantes**: Identificamos as variáveis explicativas e a variável resposta cruciais para o nosso modelo.
- **Limpeza e Pré-processamento dos Dados**: Realizamos a imputação de dados faltantes e aplicamos a codificação de rótulos (Label Encoding) em variáveis categóricas.
- **Transformação dos Dados para Formato Adequado aos Algoritmos de ML**: Após separar e tratar os dados numéricos e categóricos, reintegramos ambos para formar um conjunto unificado, facilitando a criação das variáveis explicativas

### Proximo passo

Para evitar que o artigo se torne extenso, encerraremos por hoje. Não deixe de acompanhar o [código fonte](https://www.kaggle.com/code/tandavala/modelagem-preditiva-de-pre-os-residenciais/notebook) do projeto para ver os conceitos do **CRISP-DM** na prática. No próximo artigo, abordaremos as partes 4 e 5 do CRISP-DM, e a parte 6 será discutida em um artigo separado já que vamos falar de implantação do nosso modelo de apredizando de máquina. 


### Conclusão

Hoje, iniciamos a exploração do **CRISP-DM**, reconhecendo-o como uma ferramenta fundamental para profissionais da área de dados. Essa metodologia desempenha um papel crucial na padronização do processo de mineração de dados, fornecendo uma estrutura robusta para orientar cada etapa do projeto.

Com o objetivo de pôr o CRISP-DM em prática, começamos a desenvolver um [projeto](https://www.kaggle.com/code/tandavala/modelagem-preditiva-de-pre-os-residenciais/notebook) (**um modelo de aprendizado de máquina para prever preços de imóveis**) que será progressivamente desenvolvido até a conclusão, abrangendo todas as fases. Este projeto representará uma oportunidade valiosa para aplicar os conceitos aprendidos, enfrentar desafios reais e aprimorar as habilidades práticas em mineração de dados. Estamos ansiosos para acompanhar esse desenvolvimento até a fase de depuração, consolidando assim o entendimento e a aplicação efetiva do CRISP-DM. Cuidem-se e até a próxima!