人工智能学习(二)

前言

一、了解本次实验

1.什么是多元线性回归

研究一个因变量、与两个或两个以上自变量的回归。亦称为多元线性回归,是反映一种现象或事物的数量依多种现象或事物的数量的变动而相应地变动的规律。建立多个变量之间线性或非线性数学模型数量关系式的统计方法。

2.本题背景

波士顿房价数据集包括多个样本,每个样本包括多个特征变量和该地区的平均房价。房价(单价)显然和多个特征变量相关,不是单变量线性回归(一元线性回归)问题;选择多个特征变量来建立线性方程,这就是多变量线性回归(多元线性回归)问题。
房价和多个特征变量相关,本案例尝试使用多元线性回归建模。

二、数据清洗

1.什么是数据清洗

数据清洗就是 对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。
数据清洗从名字上也看的出就是把"脏"的"洗掉",指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。

2.对所用文件进行数据清洗

  1. 观察下面的文档,发现有些数据为0。因此我们需要剔除这些数据
    在这里插入图片描述
  2. 在excel中删除bedroom和bathroom中为0的数据
    如图,在数据->筛选->选中bedroom->点击倒三角符号->选择0->点击确定
    在这里插入图片描述
    得到筛选结果后,选择所有,然后选择删除行
    在这里插入图片描述
  3. 同样的步骤删除bathroom中为0的数据

3.对所用文件的非数值型进行转换

  1. 观察文件发现,neighborhood和style中的数据是非数值型,因为这两个数据对于房价有影响,所以我们需要将他们转化为数值型来进行计算。
  2. 如图,找到excel中的替换功能在这里插入图片描述
  3. 如图,将A替换为10,将B替换为20,将C替换为30
    在这里插入图片描述
  4. 以照上面的方法,将victorian替换为100,ranch替换为200,lodge替换为300
  5. 完成后就可以发现表中的所有数据都是数值型的了 在这里插入图片描述

4.利用excel进行线性回归

  1. 如上一篇文章所讲,我们在数据分析中选择回归,然后设定如下的X,Y值.其中Y值就是price,X值则为neighborhood、area、bedrooms、bathrooms、style
    在这里插入图片描述
    2.得到如下的表格
    在这里插入图片描述

三、利用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.model_selection import train_test_split, cross_val_score
from pandas.core.accessor import register_dataframe_accessor
#读入数据
data=pd.read_csv('D:\house_prices_2.csv')
new_data=data.iloc[:,1:] #除掉id这一列
new_data.head()
new_data.corr() # 相关系数矩阵,只统计数值列
x_data = new_data.iloc[:, 0:5] #area、bedrooms、bathroom对应列
y_data = new_data.iloc[:, -1] #price对应列
print(x_data, y_data, len(x_data))
# 应用模型
model = linear_model.LinearRegression()
model.fit(x_data, y_data)
print("回归系数:", model.coef_)
print("截距:", model.intercept_)
print('回归方程: price=',model.coef_[0],'*neiborhood+',model.coef_[1],'*area +',model.coef_[2],'*bedrooms +',model.coef_[3],'*bathromms +',model.coef_[4],'*sytle ',model.intercept_)

运行结果如下:
在这里插入图片描述

总结

本次主要是学习如何利用库文件求解回归方程,其次与上次不同的是X的取值由一种变为了多种

参考文章

https://blog.csdn.net/weixin_56102526/article/details/120954906?spm=1001.2014.3001.5501
https://zhuanlan.zhihu.com/p/48541799

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值