基于线性回归的房价预测分析

一、分析问题

         尝试使用线性回归模型分析波士顿房价数据集,达到可通过房子属性(X)预测房价(y)的效果。

二、获取数据

sklearn.datasets中自带的load_boston数据集。

三、数据探索

1、数据探索

#导入所有可能需要用到的python包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#导入数据
from sklearn.datasets import load_boston
d=load_boston()
d#查看数据集

得出load_boston是一个字典,包含“data”、“target”、“feature_names”、“DESCR”四个key。

其中data表示房屋特征,target表示房价,各特征解释如下:

CRIM  ------【城镇人均犯罪率】
ZN -------【住宅用地所占比例】
INDUS   ------【城镇中非商业用地占比例】
CHAS  ------【查尔斯河虚拟变量,如果是河道,则为1;否则为0 )】
NOX   ------【环保指标】
RM -------【每栋住宅房间数】
AGE------【1940年以前建造的自住单位比例 】
DIS ------【与波士顿的五个就业中心加权距离】
RAD ------【距离高速公路的便利指数】
TAX  ------【每一万美元的不动产税率】
PTRATIO  ------【城镇中教师学生比例】
B ------【城镇中黑人比例】
LSTAT ------【房东属于低等收入阶层比例】
MEDV  ------【自住房屋房价中位数】

以‘data’为X,‘target’为y,对数据进行探索。

X=d['data']
y=d['target']
X.shape

X为506行,14列的数组,即共有14个特征。

四、构建模型

1、简单线性回归

(1) 预测、拟合、画图展示

#使用sklearn简单线性回归的库
from sklearn.linear_model import LinearRegression#实例化一个简单线性回归
clf = LinearRegression()
#需要根据已知的x和y进行训练
clf.fit(X,y)#使用上述模型预测y
y_pred=clf.predict(X)x = list(range(len(y)))
plt.plot(x,y,label = 'true')#实际的y
plt.plot(x,y_pred,label = 'pred')#预测的y
plt.legend()#展示下图例
plt.show()

 

(2)模型检验

以MSE作为该模型的评价标准

from sklearn.metrics import mean_squared_errormean_squared_error(y,y_pred)

求得MSE为21.894831181729206。

(3)模型上线

求出该简单线性回归模型的的各特征系数:

clf.coef_
array([-1.08011358e-01,  4.64204584e-02,  2.05586264e-02,  2.68673382e+00,-1.77666112e+01,  3.80986521e+00,  6.92224640e-04, -1.47556685e+00,3.06049479e-01, -1.23345939e-02, -9.52747232e-01,  9.31168327e-03,-5.24758378e-01])

2、岭回归

(1)划分训练集与测试集

以5:1的比例划分训练集与测试集

#划分训练集和测试集
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2)

(2)模型拟合

对训练集和测试集分别进行岭回归模型拟合

#导入岭回归模型
from sklearn.linear_model import Ridge#实例化一个简单线性回归
clf1 = Ridge()#代入训练集进行拟合
clf1.fit(X_train,y_train)
Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,normalize=False, random_state=None, solver='auto', tol=0.001)

(3)模型预测

#进行预测
y_train_pred = clf.predict(X_train)
y_test_pred = clf.predict(X_test)

 (4)模型检验

使用MSE作为评价标准,分别计算训练集和测试集的MSE:

from sklearn.metrics import mean_squared_error
#训练集
mean_squared_error(y_train_pred,y_train)#测试集
mean_squared_error(y_test_pred,y_test)

得到训练集的MSE为21.208910759864875,测试集的MSE为26.238961891823568,存在一定过拟合问题。

(5)模型调参

       相较于简单线性回归,岭回归在模型中多了一个正则化项\alpha \frac{1}{2}\sum {\theta _{i}}^{2},通过控制\alpha这一常数项,调整误差\theta的大小、调整欠拟合、过拟合问题。

为探索最佳alpha,取多个值进行对比

alphas=[0.001,0.005,0.1,0.2,0.3,0.4,0.5,1,2]
mse_train=[]
mse_test=[]
for alpha in alphas:clf1=Ridge(alpha=alpha)clf1.fit(X_train,y_train)y_train_pred=clf1.pred(X_train)y_test_pred=clf1.pred(X_test)mse_train.append(mean_squared_error(y_train_pred,y_train)mse_test.append(mean_squared_error(y_test_pred,y_test)

绘制alpha与MSE的趋势图

plt.plot(alpha,mse_trains,label='train')
plt.plot(alpha,mse_test,label='test')

 由上图可见alpha=0.4较为合适。

(6)模型上线

调整alpha的值,重新拟合、预测:

#实例化一个简单线性回归
clf2 = Ridge(alpha=0.4)#代入训练集进行拟合
clf2.fit(X_train,y_train)#进行预测
y_train_pred = clf2.predict(X_train)
y_test_pred = clf2.predict(X_test)

并求出此时岭回归模型的的各特征系数:

clf2.coef_
array([-8.47432333e-02,  4.54381359e-02, -1.37582594e-03,  1.62425395e+00,-1.02516535e+01,  3.94872014e+00,  4.57532581e-03, -1.21689112e+00,3.03010923e-01, -1.32502735e-02, -9.18887516e-01,  9.18609075e-03,-5.65646796e-01])

至此,模型建立完毕。

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

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

相关文章

2--Kaggle: 房价预测

2.1 数据导入 首先在Kaggle网站进行注册(如不想参加比赛也许可以不用注册) 比赛地址:House Prices - Advanced Regression Techniques | Kaggle 这里有两种方法将数据放在colab上使用,第二种是直接本地下载后上传到Goole硬盘后&…

数据正态分布化 + 基于回归算法的房价预测(含python代码)

本文用到的美国房屋数据,数据介绍详见我的上一篇文章: 链接:https://pan.baidu.com/s/1wrkzFF87A_Emgid_s7K3aA提取码:2j77 内含两个文件: data_train.csv:训练集数据,包含房价等81个指标&…

Kaggle--房价预测

房价预测 目录 一、认识数据二、定性分析 2.1 属性的意义2.2 属性分析 三、缺失值处理 3.1 缺失值举例3.2 缺失值统计3.3 填充缺失值3.4 格式转换 四、特征分析 4.1 房价分析4.2 房价属性的关系4.3 相关性4.5 特征选取 五、回归前的准备 5.1 特征向量化5.2 测试集预处理 六、回…

基于python的房价可视化预测系统

资源下载地址:https://download.csdn.net/download/sheziqiong/86774405 资源下载地址:https://download.csdn.net/download/sheziqiong/86774405 基于python实现的房价的可视化预测系统 目录 面向用户(买房者、卖房者) 1 面向开发者(数据挖…

chatgpt赋能python:Python抓取数据:从入门到精通

Python抓取数据:从入门到精通 如果你是一名数据分析师或者工程师,那么你一定要学会使用Python抓取数据。Python是一门简单易学、功能强大的编程语言,它具有丰富的第三方库和工具,使得数据抓取变得非常简单。 本篇文章将从入门到…

chatgpt赋能python:Python抓取网络数据的终极指南

Python抓取网络数据的终极指南 随着互联网的迅速发展,抓取网络数据成为了许多公司和个人用Python进行数据分析、机器学习等任务不可或缺的技能。本文将介绍如何使用Python抓取网络数据。 什么是网络抓取? 网络抓取是指通过网络爬虫程序,自…

chatgpt赋能python:Python如何获取数据:从基础到实战

Python 如何获取数据:从基础到实战 Python 是数据科学、机器学习领域的重要工具之一,如何获取数据是使用 Python 的重要一步。在本文中,我们将介绍从基础到实战 Python 如何获取数据。 1. 爬虫 1.1 爬虫的作用 爬虫是一种自动获取网站信息…

富人越富,穷人越穷,我为什么反对PoS

作者 | Hugo Nguyen 编译 | Guoxi 据摩根士丹利年初报告,2017年比特币挖消耗的电力与中东国家卡塔尔年耗电相当,预计2018年的电力需求可能会达到2017年的三倍以上。 大量的电力消耗也带来了很多争议,很多人都尝试在保证安全性的前提下改进共…

低成本开源聊天机器人Vicuna:可达到ChatGPT/Bard 90%以上水平

出品 | OSC开源社区(ID:oschina2013) 大型语言模型 (LLM) 的快速发展彻底改变了聊天机器人系统,从而实现了前所未有的智能水平,譬如 OpenAI 的 ChatGPT。但 ChatGPT 的训练和架构细节仍不清楚,阻碍了该领域的研究和开源…

看看你经常是穷人的思维还是富人的思维:

1、自我认知 穷人:很少想到如何去赚钱和如何才能赚到钱,认为自己一辈子就该这样,不相信会有什么改变。 富人:骨子里就深信自己生下来不是要做穷人,而是要做富人,他有强烈的赚钱意识,这也是他血液…

如何解决电脑所有浏览器都访问不了,但是微信qq都能上的问题

微信能上,但是浏览器用不了, 什么原因呢,一开始以为是学校检测到自己的路由器了,然后开始疯狂倒腾路由器,不断重启,不断重置密码,后来发现都不起作用....................... 从一开始自己就没有想到是配置的问题,因为浏览器是突然就不能用的,自己又没动过电脑的设置,避开了这…

网络正常,qq、微信等其他能正常使用但浏览器无法打开网页

最近遇到电脑网络正常,除了所有浏览器(360、ie、chrome、搜狗等等)无法打开网页,qq、微信以及爱奇艺等其他连网软件都可以正常使用。 如图: 这样的原因一般是你之前使用了代理服务器了,比如使用电脑开wifi、墙了。之后电脑没有自动修改回来,所以才导致这样。 解决方法…

Chrome无法访问网页(在此情况下,Firefox可以访问网页,QQ可以上网)

Chrome无法访问网页 已尝试以下方法: 重置Chrome,恢复原始设置(有些插件可能会导致无法正常打开网页,类似各种梯子),无效在cmd上使用netsh winsock reset,重启电脑,无效使用QQ管家修复功能&am…

qq、微信能打开,网页打不开的解决办法。

昨天下载了VS2022之后。就一直打不开B站,坚信是我自己的我问题。今早还打不开,然后搜了很多办法,原理是那个原理,但是奈何无法成功实践,请教了实验室同学后,终于解决。具体流程如下: 我是 win1…

电脑能打开微信,但是访问不了百度,打不开网页,打不开浏览器!

电脑能打开微信,但是访问不了百度,打不开网页,打不开浏览器! 返回导航页问题现象:解决方案:方案一:方案二: 返回导航页 返回导航页 问题现象: 电脑能打开微信&#xff…

QQ、微信可以正常访问通讯,浏览器无法打开网页

问题描述 电脑网络异常,除了浏览器(360、chrome、搜狗等等)无法打开网页,qq、微信等其他连网软件都可以正常使用。 问题分析 出现这样的原因一般是之前设置了代理服务器,后续没有关闭,导致浏览器还是走代…

大模型新势力:IDEA研究院张家兴入局创业,沈向洋任顾问,首轮估值20亿

衡宇 发自 凹非寺量子位 | 公众号 QbitAI 大模型创业江湖,又来了两位重磅大牛。 张家兴,粤港澳大湾区数字经济研究院(IDEA研究院)讲席科学家、认知计算与自然语言中心负责人,被曝已经启动了创业项目,而他站…

大模型新势力入局:IDEA研究院首席科学家创业,沈向洋院士任顾问,首轮估值20亿...

来源:量子位 大模型创业江湖,又来了两位重磅大牛。 张家兴,粤港澳大湾区数字经济研究院(IDEA研究院)讲席科学家、认知计算与自然语言中心负责人,被曝已经启动了创业项目,而他站在他身后&#xf…

预计欧元近期将“绝境大反攻”

纽约汇市11日,美元全线下滑,兑欧元和日圆触及七周低点,因避险需求降温,美元在稳步走强数月后投资人开始在年底前锁定获利。 美元兑其他主要货币自12月起便一路下滑,主要是受年末特有的低水平流动性以及年末清仓操作影响…

彻底弄懂 https 原理本质(三)加密漏洞

一、https加密🔐过程,上期知识回顾 小明👦和小花👧为了安全高效的发情书,采用对称加密方式。聪明的老王🐶盗取对称加密的密钥S🔑 。小明👦想到了非对称加密方式,于是就生…