Python数据分析-房价的影响因素图解

摘 要

这两年OF一直在关注房价,抛开政策、炒房等一些外部因素,对于房屋本身来说,哪些是影响房价的主要因素?OF在众多因素中挑选了几个进行分析:房屋年龄、面积、层数(1/1.5/2/2.5/...)、卧室数量、卫生间数量。

首先,OF从Kaggle上下载了一份关于国外某城市的房产数据,并且经过了数据处理。那么接下来,我们主要进行数据可视化和分析,今天分析的主要目的是:

1、影响房价的内部主要因素是什么?

2、建立模型进行房价预测。

单因素分布:直方图

这不是一个很大的数据,也没有太多的列,因此第一步可以绘制直方图,查看下各因素的数据分布情况。

import pandas as pd 
import seaborn as sns
df1 = pd.read_csv(r"./data/house_data.csv")
#直方图
df1.hist(bins=20,figsize=(13,13),xrot=-15)

特征:线性回归

这些影响房价的因素,我们又称之为“特征”。这些特征是如何影响房价的?就好比x,y,我们来看下各特征与房价间的关系图:

从这些图表上看,房屋年龄与房价的关系并不明显,房屋面积与房价的关系最明显,其次明显的是卫生间数量与房价的关系。

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
house = pd.read_csv(r"./data/house_data.csv")
house = house.astype(float)
col1 = house.columns
# 生成图表
for col in col1:f, ax = plt.subplots(1, 1, figsize=(12, 8), sharex=True)   sns.regplot(x=col, y='price', data=house, ax=ax)x = ax.get_xlabel()y = ax.get_ylabel()ax.set_xlabel(x, fontsize=18)ax.set_ylabel(y, fontsize=18)

特征:箱型图

为了确定卧室数量、卫生间数量、楼层数与价格的比较,OF更喜欢箱型图,因为有数字呈现,但它们不是连续的,如 1,2,... 卧室,2.5, 3,... 楼层(可能 0.5 代表阁楼 )。

通过箱型图,去除一些黑点的异常值,我们可以发现,曲线上升比较明显的有房屋面积卫生间数量,还有卧室数量也有些微小的曲线上升,那么我们可以认为整体上,房价与这3个特征有关系。

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
house = pd.read_csv(r"./data/house_data.csv")
house = house.astype(float)
col1 = house.columns
# 生成图表
for col in col1:f, ax = plt.subplots(1, 1, figsize=(12, 8), sharex=True)   sns.boxplot(x=house[col],y='price', data=house, ax=ax)x = ax.get_xlabel()y = ax.get_ylabel()ax.set_xlabel(x, fontsize=24)ax.set_ylabel(y, fontsize=24)

特征:变量相关性

模型中有太多特征并不总是一件好事,因为当我们想要预测新数据集的值时,它可能会导致过度拟合和更糟糕的结果。如果想要一眼看出各变量间的关系,OF不得不向大家介绍皮尔逊相关性矩阵,用热图来呈现。

怎么看这张图?很简单,右侧的颜色色条中向上红色加深代表正相关;向下蓝绿色加深代表负相关(绝对值越大,相关性越大)。因为我们主要分析各变量与房价间的关系,所以我们比较最下一行的数据。

square房屋面积 0.7 > bathrooms卫生间数量 0.53 > bedrooms 0.31 > floos 0.26

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
house = pd.read_csv(r"./data/house_data.csv")
house = house.astype(float)
#计算各变量的相关性
corr = house.corr()
#为上三角形生成掩码
mask = np.triu(np.ones_like(corr, dtype=bool))
#建立matplotlib图
f, ax = plt.subplots(figsize=(11, 9))
#生成自定义颜色的图表
cmap = sns.diverging_palette(200, 10, center='light',as_cmap=True)
#用蒙版绘制热图并修正纵横比
sns.heatmap(corr, mask=mask, cmap=cmap, vmax=1,vmin=-1, center=0,square=True, linewidths=.5, cbar_kws={"shrink": .4}, annot=True)

多因素:3D图

上述绘制了房价与其他因子的对比,似乎价格与这些因子之间没有完美的线性关系。3个变量彼此之间的关系又如何?为了说明这一点,我更喜欢3D 图。

上图显示,当房屋面积增加时,卧室或浴室增加,同时房价也增加,但是,层数、卧室、浴室与房屋面积没有类似的关系。

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import itertools
from mpl_toolkits.mplot3d import Axes3D
plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签
plt.rcParams['axes.unicode_minus']=False   #这两行需要手动设置
house = pd.read_csv(r"./data/house_data.csv")
house = house.astype(float)
hs2 = house.drop(['price'],axis=1)
col1 = house.columns
col2 = hs2.columns
combine = pd.DataFrame(itertools.combinations(col2, 2))
for i in range(len(combine)):fig = plt.figure(figsize=(10,6))ax = Axes3D(fig)x=house[combine[0][i]]y=house[combine[1][i]]z=house['price']ax.scatter(x,y,z)plt.title("三维分析"+combine[0][i]+"-"+combine[1][i]+"-"+"price",fontsize=18)ax.set_xlabel(combine[0][i],fontsize=14)ax.set_ylabel(combine[1][i],fontsize=14)ax.set_zlabel('price',fontsize=14)plt.tick_params(labelsize=10)   plt.show()

结 语

经过线性回归、箱型图、皮尔逊相关性矩阵和3D图的分析,都能分析出来房价与房屋面积、卫生间数量有比较大的关系。下期将会涉及一些机器学习的知识来预测房价,敬请期待哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24137.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python做波士顿房价预测

#1. 导入相关包 import numpy as np #导入numpy科学计算包 import pandas as pd #导入pandas数据分析包 from pandas import Series, DataFrame #Series是类似于一维数组的对象 import matplotlib.pyplot as plt #导入绘图的包 import sklearn.datasets as datasets #直接从…

python实现波士顿房价预测---(1)

波士顿房价预测 目标 这是一个经典的机器学习回归场景,我们利用Python和numpy来实现神经网络。该数据集统计了房价受到13个特征因素的影响,如图1所示。 对于预测问题,可以根据预测输出的类型是连续的实数值,还是离散值&#xff…

加州房价篇 (一) : 了解数据

让我们先从加利福尼亚州的房价说起 如果没有接触过机器学习,需要先进行环境配置 在每次开始之前都需要先运行以下代码,不报错方可继续 # Python 的版本需要大于3.5 import sys assert sys.version_info > (3, 5)# Scikit-Learn的版本需要大于0.20 import sklear…

我用python分析买房数据

首先说明,这是一篇技术文章。 明年打算买房,媳妇这段时间总去看房子,这种状态持续了两个月,最近终于消停了。现在整个市场不明朗,我们也不确定换到哪里。不如先整理点数据,至少能监控一些区域价格&#xf…

波士顿房价数据集怎么不见了?

波士顿数据下载 消失的波士顿 OoO 做线性回归的同学大概率会用到一个数据集,即波士顿房价数据集,然而当你从sklearn下载该数据集时,你会惊讶地发现居然下载不了了!!!起初我以为是什么别的原因导致数据集可能…

【Python数据分析】波士顿房价分析小例子

一、导入模块 %matplotlib inline #将生成的图片嵌入网页中 import matplotlib.pyplot as plt from sklearn import datasets from sklearn.feature_selection import SelectKBest,f_regression from sklearn.linear_model import LinearRegression …

基于pyspark的波士顿房价预测案例

目录 一、问题描述: 二、机器学习预测模型概述: 三、数据获取 四、数据预处理 五、模型训练 六、模型评估 本实验包含线性回归模型、梯度上升回归、决策树、随机森林、梯度回归树五种模型的创建和比较以及加载! 一、问题描述&#xff…

python广深地区房价数据的爬取与分析

Python房产数据分析 1、数据爬取2、明确需求与目的数据预览提出问题 3.数据预处理数据清洗缺失值异常值(对连续性标签做处理)异常值(对离散标签做处理) 4、数据分析问题1、广东省房价的总体情况如何?问题2、高端小区都有哪些?问题…

ChatGPT的介绍与运用

ChatGPT的发展 ChatGPT是OpenAI团队开发的一种基于语言模型的对话系统 GPT-1: GPT(Generative Pre-trained Transformer)是OpenAI发布的第一个基于Transformer架构的语言模型。GPT-1于2018年发布,它使用了无监督学习的方法&#…

离线语音交互技术路线之语音合成(TTS)篇

在ChatGPT大行其道之际,我心血来潮想要研究研究如何实现离线语音交互,把它和ChatGPT相结合,自己尝试实现个语音助手玩玩。本篇文章主要先从整体上分析了离线语音交互的技术实现路线,以及每个环节可能用到的参考技术,然…

Linux中文显示乱码问题

终端输入命令回显的时候中文显示乱码,出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导致的。 Linux系统与windows系统在编码上有显著的差别。Windows中的文件的格式默认是GBK(gb2312),而Linux系统中文件的格式默认是UT…

解决中文乱码问题大全

相信大家在开发过程中遇到很多中文乱码的问题,为此小编在这里汇集了很多不同情况下怎么解决中文乱码,希望对大家有所帮助 1、IDEA控制台输出乱码 修改idea配置文件:找到idea的安装目录,在bin目录下找到dea64.exe.vmoptions和idea.exe.vmoptions这两个文件,分别在这两个文…

解决中文乱码的方法

今天跟路飞学习爬虫时,遇到的中文乱码。他提出了一种解决方法,而我在弹幕上也看到了一种方法。 法1:在响应数据时加一句 response.encoding response.apparent_encoding 法2: #通用处理中文乱码的解决方法img_name img_name.en…

中文乱码问题整理总结

目录 1、字符编码 2、乱码产生的原因 3、乱码解决方案 3.1、解决HTML页面中的中文问题: 3.2、解决JSP页面中的中文问题 3.3、解决Servlet响应结果的中文问题 3.4解决页面数据传输的中文问题 3.5、解决HTTP(get)请求中的中文问题 3.6、解决MySQL数据库的中文…

php echo中文乱码问题

用echo输出的中文显示成乱码, 其实应该是各种服务器脚本都会遇到这个问题, 根本还是编码问题, 一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8 这时候要正常显示中文需要转化一下编码方式,比如 echo iconv(“…

中文出现乱码最常见的几种方式解析

1、出现古文夹杂日韩文,以GBK读取UTF-8编码 2、出现方块形,以UTF-8读取GBK 3、各种符号,以ISO8859-1方式读取UTF-8 4、拼音码,带声调的字母,以ISO8859-1方式读取GBK 5、长度为奇数时,最后的字符变成问号&am…

SEO百度搜索引擎优化30min了解网站排名

目录 seo优化 介绍seo是什么 网站更新: 网站排名在21世纪的意义: 网站为电商引流 百度算法规则 排名流程 seo策略 规则——“学会在线球里玩” 单页面收录显示 必要条件——链接数量 日志统计——及时优化seo策略 降低识别难度 收录越多排名就越大吗 …

毕设项目《基于STM32的智能乒乓球捡球小车的设计与实现》从零开始过程笔记

毕设项目《基于STM32的智能乒乓球捡球小车的设计与实现》从零开始过程笔记 小车实物 前言 本文是后来记录而写,如有不足之处,欢迎批评指正。 如果您觉得文章写得不错,欢迎一键三连。(比心 orz) 目录 毕设项目《基于S…

全面剖析OpenAI发布的GPT-4比其他GPT模型强在哪里

最强的文本生成模型GPT-4 一、什么是GPT-4二、GPT-4的能力三、和其他GPT模型比较3.1、增加了图像模态的输入3.2、可操纵性更强3.3、复杂任务处理能力大幅提升3.4、幻觉、安全等局限性的改善3.6、风险和缓解措施改善更多安全特性3.7、可预测的扩展 四、与之前 GPT 系列模型比较五…

GPT-4 官方技术报告(译)

摘要 我们报告了GPT-4的开发情况,这是一个大规模的多模态模型,可以接受图像和文本输入并产生文本输出。虽然在许多现实世界的场景中,GPT-4的能力不如人类,但在各种专业和学术基准上表现出人类水平的性能,包括在模拟的律…