top of page
Buscar

Previsão de preços de casas em Boston com multiple linear regression

Foto do escritor: William AusenkaWilliam Ausenka

Atualizado: 11 de out. de 2021

Uma análise feita com Multiple Linear Regression


Fonte: Breno Assis / Unsplash.com


English version:

https://github.com/williamausenka/ML_estudos_de_caso/blob/main/Boston_House_Dataset_Multiple_Linear_Regression/Boston%20Housing%20Dataset%20Analysis.pdf


A análise a seguir se refere ao Boston Housing Dataset, um dataset público que contém informações coletadas pelo US Census sobre preços das casas na área de Boston. Download feito no site https://www.kaggle.com/vikrishnan/boston-house-prices. Utilizou-se o método de machine learning - multiple linear regression feito na linguagem de programação python para a análise do dataset.

O objetivo do estudo é fazer um modelo de multiple linear regression para tentar prever o preço de uma casa em Boston e verificar qual(is) features são as mais relevantes para o modelo.

Primeiramente, carregou-se os dados no jupyter notebook.


Tabela 1 – Dados Iniciais

Fonte: O Autor


Pela tabela 1, os dados precisam de pré-processamento antes do aplicar o modelo. O dataset possui 14 atributos. São eles:

  1. CRIM - per capita crime rate by town

  2. ZN - proportion of residential land zoned for lots over 25,000 sq.ft.

  3. INDUS - proportion of non-retail business acres per town.

  4. CHAS - Charles River dummy variable (1 if tract bounds river; 0 otherwise)

  5. NOX - nitric oxides concentration (parts per 10 million)

  6. RM - average number of rooms per dwelling

  7. AGE - proportion of owner-occupied units built prior to 1940

  8. DIS - weighted distances to five Boston employment centres

  9. RAD - index of accessibility to radial highways

  10. TAX - full-value property-tax rate per $10,000

  11. PTRATIO - pupil-teacher ratio by town

  12. B - 1000(Bk - 0.63)^2 where Bk is the proportion of blacks by town

  13. LSTAT - % lower status of the population

  14. MEDV - Median value of owner-occupied homes in $1000's

A tarefa é prever o valor do imóvel (14) utilizando o restante das features. O atributo 5 será excluído, pois também é um valor a ser previsto, mas não será abordado nessa análise.


Tabela 2 – Dados organizados

Fonte: O Autor


Primeiro, foi feito um rearranjo na tabela, para termos os nomes corretos de cada feature no dataframe, como visto na tabela 2. Como a variável a ser prevista é MEDV e não foi utilizado NOX na análise, elas foram removidas da dataframe. Por meio do pacote de machine learning sklearn, normalizou-se os dados, exceto o feature CHAS, pois ela é uma dummy variable. Após a normalização, dividiu-se os dados em 2 sets, um para treinar o modelo (x_train, y_train) e outro para teste do modelo (x_test, y_test). Foi feito um split de 80% para teste e 20% para treino.


Tabela 3 – Valores do R² e Weights

Fonte: O Autor



Figura 1 – Weights

Fonte: O Autor


Com os resultados obtidos, temos um modelo com, aproximadamente, 72,1 % de precisão. Na avaliação dos valores dos weights, quanto mais positivo, maior a contribuição para o aumento do preço da casa e, quanto mais negativo, maior a contribuição para a diminuição do preço da casa. Pela tabela 3, temos que a feature “AGE” está próximo de 0, ou seja, quase não contribui para o preço final da casa e, portanto, pode ser retirada da análise. Sobre os weights, quanto mais positivos, mais eles contribuem para um aumento no valor do imóvel e, quanto menor, para uma diminuição do preço da casa.


Pela figura 1, foi observado que as features que mais contribuem para o aumento do valor do imóvel são, por exemplo, CHAS, RM e RAD. Esses resultados são esperados, porque, no caso de RM, quanto mais quartos no imóvel, mais caro ele será. Já RAD, melhor infraestrutura rodoviária reflete num preço maior de imóvel. Assim como quanto mais perto da faixa de areia uma casa fica, maior será seu valor, o mesmo raciocínio pode ser aplicado no caso de CHAS, se a propriedade está perto do rio, ela será mais valorizada. Para as features com valores mais negativos, temos LSTAT que mostra a porcentagem da população de classes sociais mais baixas na área de Boston, mostrando que isso influi para um valor menor do imóvel. Geralmente, quanto menor o nível de educação da pessoa, menor seu salário e menos condições para comprar um imóvel maior e bem localizado, sendo assim o impacto do LSTAT no modelo é grande. A feature DIS mostra que quanto mais longe dos centros de emprego, menor o valor do imóvel, o que é esperado, pois quanto mais perto do centro comercial da cidade, maior o valor do imóvel. Já, TAX indica que o quanto se paga de tributo pela propriedade, portanto quanto menor o valor pago em tributo, mais barata a casa. Por fim, PTRADIO é a relação entre professores e alunos na cidade, significando quantos alunos por professor, então seu valor negativo mostra que, provavelmente, há muitos alunos para cada professor. Pode também indicar que a área não é muito valorizada e concentrada de pessoas de baixa renda, onde não há muitas escolas, principalmente públicas, contribuindo para que o weight seja negativo e indicando moradias de menor valor.


Tabela 4 – R² para set de teste

Fonte: O Autor


Foi feito um novo teste do modelo para determinar o R² com o set de e o seu valor obtido, visto na tabela 4, é maior que o obtido no set de treino, o que não é usual, mas mostra que o modelo se comportou bem para novos dados.


Todo o código você encontra no meu Github: https://github.com/williamausenka/ML_estudos_de_caso/tree/main/Boston_House_Dataset_Multiple_Linear_Regression


Espero que vocês tenham gostado.

Não deixe de comentar o que você achou da análise

Obrigado e até o próximo post!


163 visualizações0 comentário

Posts recentes

Ver tudo

Comentários


bottom of page