Challenge de Data Science | 2ª edição
O trabalho tem por fim reformular os sistemas de recomendação e venda de imóveis da imobiliária InsightPlaces, tornando-os mais eficientes. Utilizando tecnologia Apache PySpark, inicialmente é feito um trabalho de engenharia de dados para tratamento do data set. Posteriormente são criados modelos de machine learning de regressão e clusterização/recomendação.
Challenge-Data-Science-Alura-2ed | |
PySpark, spark-mllib, spark-sql, pandas, Python | |
Página do desafio |
O desafio teve duração de quatro semanas de encontros e metas a serem cumpridas. Foi realizado utilizando metologia ágil. Consistiu de um caso simulado:
A imobiliária InsightPlaces, situada na cidade do Rio de Janeiro, está enfrentando dificuldades para alugar e vender imóveis. Em uma pesquisa de como empresas semelhantes operam no mercado, a InsightPlaces percebeu que esse problema pode estar relacionado aos valores dos imóveis e às recomendações realizadas em seu site. Dentro desse contexto, é preciso definir de forma eficiente os preços dos imóveis lidando com grandes volumes de dados.
São as etapas deste projeto:
- Ler e fazer o tratamento do histórico dos preços de imóveis no Rio de Janeiro.
- Construir um modelo de regressão para precificar imóveis.
- Criar um recomendador de imóveis.
Para cada uma dessas etapas, é utilizada a ferramenta PySpark, que oferece uma melhor performance ao trabalhar-se com grandes volumes de dados.
Semana 1
Transformações iniciais nos dados, deixando-os mais estruturados:
Utilizaram-se os recursos do PySpark para explorar a base de dados, realizar transformações em colunas e aplicar filtros específicos para obtenção de informações que interessam para a análise. Os dados foram, ao final, convertidos em formato parquet.
Semana 2
Tratamento dos dados e a criação de modelos de regressão para precificação dos imóveis:
Foi feita a importação dos dados que foram salvos no final da semana anterior, realização da exploração e do tratamento e da remoção de dados faltantes. Após esses tratamentos, prepararam-se os dados para a criação de modelos de machine learning do PySpark. Salvaram-se os dados já preparados para ML no formato parquet para utilização futura.
Semanas 3 e 4
Melhoramento do sistema de recomendação:
A base de dados utilizada foi a preparada durante semana 2, após transformar as variáveis categóricas em variáveis binárias e antes de ser aplicada a vetorização. Utilizaram-se técnicas de padronização e redução de dimensionalidade nos dados. Foi possível criar agrupamentos (clusters) adequados e uma função capaz de realizar uma boa recomendação dos imóveis.