基于线性回归算法的房价预测项目

1. 查看数据的基本信息

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
import seaborn as sns  

path = r"D:\python\course\Aurelien Geron\housing.xlsx" 
data = pd.read_excel(path) 
print(data.head()) 
print(data.shape)

在这里插入图片描述

print(data.info())

在这里插入图片描述
从上图可以看到总登记房屋消息有20640条,而总卧室数量的条目数比其他项目少了7条,说明有7行空缺。

# 查看一下每列数据中有多少缺省值
print(data.isnull().sum(axis=0)) 

在这里插入图片描述
2. 根据data.corr() 绘制heatmap

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
import seaborn as sns 

path = r"D:\python\course\Aurelien Geron\housing.xlsx" 
data = pd.read_excel(path) 
print(data.head()) 

# 查找关联度, corr()函数会自动忽略掉字符串列“ocean_proximity” 
corr_matrix = data.corr() 
print(corr_matrix)  

plt.figure(figsize=(15, 10))
ax = sns.heatmap(data.corr(), cmap=plt.cm.RdYlGn, annot=True, fmt=".2f", annot_kws={
   'size':18}) 

plt.legend(prop={
   "size":18}) 
# 设置刻度字体大小
plt.xticks(fontsize=18)
plt.yticks(fontsize=18)
# 可手动调整y轴的范围来进行修复。(老版本的Matplotlib不需要调整y轴范围。) 
a, b = ax.get_ylim()
ax.set_ylim(a + 0.5, b - 0.5) 
plt.show()

在这里插入图片描述
从这个heatmap上可以看出来:

  1. 人口和家庭数的Pearson相关系数高度相关(达到0.98);
  2. 而总的卧室数目和家庭数目的Pearson相关系数也高度相关(高达0.88);
  3. 人口和总房间数的相关系数的正相关性也挺高(0.86);
  4. 而最关心的房价中位数和收入中位数的相关系数最高(0.69)。

因此我们想重点看一年房价中位数和收入中位数间更详细的关系。

先使用不设置alpha值的散点图查看房价中位数和收入中位数的关系(左图),可以看到散点太稠密,堆叠在一起,很看看清楚细节。而右边的图将alpha值设为0.1后,可以看到收入中位数和房价中位数间更加细致的对应关系。而pyplot 中的参数alpha 是负责颜色透明度的,值介于[0, 1]: 1表示不透明,0表示透明。

data.plot(kind='scatter', x='median_income', y='median_house_value') 
plt.axis
  • 9
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值