多元线性回归算法预测房价

本文介绍了如何处理数据清洗,包括删除重复数据、缺失值处理,以及非数值数据转换。通过Excel初步建立回归方程,并使用Sklearn库进行线性回归分析,得到房价预测模型,分析了各因素对房价的影响。最终,通过模型优化提高了判定系数R²。
摘要由CSDN通过智能技术生成

一、数据清洗

1、数据数值处理
(1)数据集主要问题

1.数据缺失
2.数据不一致
3.存在“脏”数据
4.数据不规范

数据整体较为规整,但仍存在以下问题:数据缺失,存在某些数据等于0
在这里插入图片描述

(2)删除重复数据

(a)新建一个工作表house_prices_new.csv执行数据清洗,方便和原始数据区分开来,选中需要处理的数据。
在这里插入图片描述
(b)选择数据——重复项——删除重复项
在这里插入图片描述

(c)利用唯一标识house_id,删除重复值

未发现重复项

(3)升序排列

选择排序——升序
在这里插入图片描述

(4)缺失值处理

通过人工手动补全,适合与缺失值比较少
删除缺失数据
用列表平均值代替缺失值
用统计模型计算出来的值代替缺失值
本题删除所有值为0的,缺失值所在行

(a)选中地址列的数据区域即bedrooms所在的列
(b)采用选择菜单:点击数据——自动筛选——图中下拉三角形
在这里插入图片描述
(c)筛选值为0
(d)选中删除bedrooms值为0的所有行
(e)以同样的方法删除bathrooms值为0的行
结果如下
在这里插入图片描述

2.非数值数据处理

线性回归中经常会遇到非数值型数据,即分类型数据,比如性别、所属省份、专业类型等等

分类型数据无法量化,一般会采用哑数据进行处理
如某个数据分为A、B、C三类,即可采用两个哑数据a,b
类型为A时,a=1,b=0
类型为B时,a=0,b=1
类型为C时,a=0,b=0
不使用a,b,c三个哑数据,是因为如果哑数据个数与分类数相同时,恒有a+b+c=1,会存在多重共线性问题

在数据中neighborhood和style栏是非数值数据,在neighborhood一栏中将A,B,C以二进制编码表示为10,01,00,也就是十进制的2,1,0。
在style一栏中同理可得ranch,victorian,lodge为2,1,0。

3.使用Excel实现回归

在这里插入图片描述

根据表中数据得到回归方程
y=-9109.9x1+345.41x2-1645.87x3+7907.17x4+4524.79x5
r²=0.622195
通过P-value一栏可以得到房屋面积和价格的相关性最强。

三.用Sklearn库做房价预测线性回归

代码

#导入相关库
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split #这里是引用了交叉验证
from sklearn.linear_model import LinearRegression  #线性回归
from sklearn.linear_model import Lasso, Ridge, LinearRegression as LR
from sklearn.metrics import r2_score, explained_variance_score as EVS, mean_squared_error as MSE
from sklearn.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值