Escolar Documentos
Profissional Documentos
Cultura Documentos
Predição de Preços de Imóveis Através de Aprendizagem de
Predição de Preços de Imóveis Através de Aprendizagem de
aprendizagem de máquina
João Pedro Pinheiro Malere, Publio Netto de Almeida e Humberto Hayashi Sano
Resumo
Introdução
Materiais e métodos
Materiais
Outros métodos, com outras etapas (como descrito em [10] e [11]), também estão
disponíveis na literatura, porém com etapas muito semelhantes ao CRISP-DM, ou seja,
obter informações e conhecimento útil dos dados. Desta forma, as etapas realizadas
durante o desenvolvimento do método de aprendizagem deste trabalho serão as mesmas
do CRISP-DM.
a) Entendimento do negócio
Nessa etapa foram avaliadas informações que são frequentemente utilizadas para
avaliação de imóveis, como variáveis relacionadas à área útil, área total e
latitude/longitude. Como previsto no CRISP-DM, essa etapa no processo de mineração
de dados deve ser realizada de maneira conjunta com a etapa seguinte de entendimento
dos dados e análise exploratória.
b) Entendimento e Análise exploratória dos dados
- Presença de outliers: há registros com imóveis que possuem características que são
distintas em relação ao padrão dos imóveis em geral.
Com base nessas informações, iniciou-se a etapa de seleção dos atributos relevantes
para o problema. Para a localização do imóvel, apesar de aproximadamente metade
dos registros de latitude e longitude apresentarem valores ausentes na base de
treinamento, decidiu-se utilizar esses atributos pois, quando presentes, são mais precisos
que os outros atributos disponíveis, como estado, cidade ou mesmo a região.
Para facilitar a busca das informações nos atributos “title” e “description”, um pré-
processamento de texto foi realizado com as seguintes etapas:
remoção de caracteres especiais e pontuações, com exceção de caracteres úteis
como $ e pontos de milhar;
remoção de espaços, vírgulas e pontos repetidos;
remoção de acentos;
conversão de caracteres para minúsculo e
remoção de termos sem utilidade para a classificação.
"[1-9]\\d*\\s?(?=andar[^e])|(?<=andar\\s)alto|(?<=andar\\s)medio|(?<=andar\\s)baixo"
Essa expressão regular busca pelos números que precedem a palavra “andar”, mas não
os números que precedem a palavra “andares” e também busca pelas palavras “alto”,
“medio” ou “baixo”, quando estas estão precedidas da palavra “andar”.
• A área coberta, utilizando como marcadores: “m” ou “m2” com proximidade das
palavras “area”, “util” ou “interna”.
• A área total.
• O tipo da propriedade, utilizando como marcadores: “apartmento”, “apt”, “apto”,
“cobertura” ou “comercial”, “galpao”, “loja” ou “casa”, “sobrado”, “chacara”.
• O preço do condomínio, utilizando como marcadores: “cond” ou “condomínio”,
próximos a “$” ou “r$” e selecionando apenas números, os quais poderiam representar
o valor do condomínio (exemplo: condominio r$ 400).
Caso a palavra “mil” fosse encontrada após os números, o fator 1000 era aplicado ao
valor lido (exemplo: por r$ 250 mil).
Foi assumido que a informação encontrada no atributo “title” era mais precisa que a
informação encontrada no atributo “description” pois, por “title” (título do anúncio) ser
um campo de maior evidência e menor tamanho, provavelmente é preenchido com mais
cautela que os demais.
Após todas as informações extraídas dos campos “title” e “description”, uma nova
avaliação foi realizada com base em uma pequena amostra aleatória dos dados. Foi
então decidido substituir todo o conteúdo do atributo “property_type” com os dados
colhidos dos campos “title” e “description”, pois eles estavam mais precisos. Os
atributos “floor”, “surface_total_in_m2”, “surface_covered_in_m2”, “expenses” e
“price” foram utilizados apenas para completar os registros vazios. Já para o campo
“rooms” foi calculada a moda e priorizada a informação no texto para os casos onde
havia valores divergentes.
Para melhorar o resultado obtido, foram produzidos novos atributos a partir do conteúdo
dos campos “description” e “title”. Foi gerada uma matriz com todas as palavras
contidas nesses dois campos e suas respectivas frequências. Com base na frequência e
no possível diferencial criado por aquela característica, quatorze palavras foram
selecionadas e transformadas em atributos pelo processo de “one-hot-encoding”,
indicando ou não a presença da palavra em questão no texto. Na linguagem Python e na
linguagem R, respectivamente, os pacotes Scikit-Learn e Caret implementam técnicas
para seleção de atributos com maior relevância para o modelo em desenvolvimento. Por
uma limitação de tempo, tais técnicas não foram aplicadas.
Correções na localização
Preparação final
e) Modelagem
Para a escolha do método a ser utilizado para predição de preço, foi realizada uma
comparação de modelos capazes de prever o preço dos imóveis, a partir de um
subconjunto dos dados contendo aproximadamente 60.000 registros extraídos do
conjunto de treinamento fornecido.