🪧 Vitrine.Dev | |
---|---|
✨ Nome | Projeto de Regressão Linear |
🏷️ Tecnologias | Python, Pandas, numpy, seaborn, sklearn, pickle |
🚀 URL | https://github.com/yurialcant/Projeto-Regress-o-Linear-Alura |
🤿 Desafio | https://cursos.alura.com.br/ |
#vitrine-dev #vitrinedev#alura |
Este projeto foi elaborado, durante o curso de Regressão Linear parte I, nosso objetivo é criar um modelo de previsão de preço de casas nos utilizando como base as informações do nosso DataSet(" https://www.kaggle.com/greenwing1985/housepricing"), para isso nos utilizaremos de algumas ferramentas como as funções de análise do DataSet fornecida pela biblioteca Pandas, a construção de gráficos com o auxílio da biblioteca Seaborn e por fim a construção do modelo de Regressão Linear com auxílio da biblioteca Scikit-Learn.
Nosso primeiro passo é importar as bibliotecas que faremos uso durante o projeto, portanto realizamos o import do pandas, numpy, matplotlib, seaborn, sklearn e o pickle. Em seguida realizamos a leitura de nossos dados e verificamos o tamanho do nosso dataset nos utilizando da função shape. Agora partiremos para nossa análise preliminar, o primeiro passo é obter as estatísticas descritivas como a média, desvio padrão, valor mínimo e valor máximo.
Agora analisaremos nossa Matriz de correlação que nos ajuda a identificar o coeficiente de correlação que é uma medida de associação linear entre duas variáveis e situa-se entre -1 (associação negativa perfeita) e +1(associação positiva perfeita), para isso utilizaremos a função no pandas corr junto do round(4), para arrendondar nossos valores em 4 casas decimais.
Primeiro iremos utilizar o gráfico do tipo Box-plot em nossa variável dependente(y), para verificarmos o comportamento da distribuição da variável dependente, verificando a existência de outliers e se o gráfico demonstra alguma tendência. ![Captura de Tela (233)](https://user-images.githubusercontent.com/102321564/198375312-4032b875-8171-4e36-8ccf-2e8e3c7f4822.png) Em nosso boxp-lot, não possuímos a presença de outliers, agora iremos realizar outros box-plots para avaliarmos nossa variável dependente juntamente com outras variáveis explicativas categóricas. ![Captura de Tela (234)](https://user-images.githubusercontent.com/102321564/198375871-5d564c16-a659-445e-80cf-1824645c549d.png)Agora nos utilizaremos de um histograma para analisar a distribuição de frequência da variável dependente. Como podemos ver nosso gráfico fica bem próximo de uma assemetria, por fim para completar nossas análises gráficas iremos realizar a construção de um gráfico de dispersão entre as variáveis presentes em nosso DataSet, utilizaremos para isso o pairplot, fixando somente uma variável no eixo y.
Nesta etapa iremos estimar um modelo de regressão, para isso utilizaremos o train_test_split da biblioteca scikit-learn, com ela importada iremos criar uma series do pandas para armazenar nossa variável dependente, depois iremos criar um DataFrame para armazenar as variáveis explicativas e por fim criaremos o nosso dataset de treino e de teste. ![Captura de Tela (241)](https://user-images.githubusercontent.com/102321564/198378046-5acbb1a0-eac6-4fb3-b18e-459f3b76bff7.png) Agora utilizaremos outra ferramenta da biblioteca scikit-learn, desta a LinearRegression, para isso iremos instanciar esta classe após o import, e em seguida utilizaremos o método fit, para estimar o modelo linear utilizando os dados de treino, também iremos obter o coeficiente de determinação do modelo estimado com os dados de treino(lembrando que o resultado do coeficiente sempre deve estar próximo a 1, para o modelo ser viável).Após isso iremos gerar as previsões para os dados de teste utilizando o método predict e obter o coeficiente de determinação para as previsões do nosso modelo com os dados de teste.
Após o nosso modelo já estimado, podemos criar o nosso simulador, para isso basta criarmos valor para nossas variáveis explicativas presentes no DataSet, atribuirmos isso a uma nova variável e realizar a previsão utilizando o método predict em nosso modelo já estimado. ![Captura de Tela (244)](https://user-images.githubusercontent.com/102321564/198379994-894c7974-9ff6-414c-8a8a-de2719455675.png) Nossa última etapa é utilazarmos a biblioteca pickle para salvarmos nosso modelo de regressão e exportá-lo, para isso basta utilarmos o método open passando o nome que desejamos salvar e o parâmetro wb(write binary) e executar, assim salvando nosso modelo.E para testar nosso modelo, podemos abrir outro notebook e importar o modelo, passando as valor que desejamos nas variáveis explicativas.