02-07 多元线性回归(波士顿房价预测)

目录

  • 多元线性回归(波士顿房价预测)
  • 一、导入模块
  • 二、获取数据
  • 三、训练模型
  • 四、可视化
  • 五、均方误差测试

更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:https://www.cnblogs.com/nickchen121/

多元线性回归(波士顿房价预测)

一、导入模块

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
%matplotlib inline
font = FontProperties(fname='/Library/Fonts/Heiti.ttc')

二、获取数据

df = pd.read_csv('housing-data.txt', sep='\s+', header=0)
X = df.iloc[:, :-1].values
y = df['MEDV'].values
# 将数据分成训练集(0.7)和测试集(0.3)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

三、训练模型

lr = LinearRegression()
# 训练模型
lr.fit(X_train, y_train)
# 预测训练集数据
y_train_predict = lr.predict(X_train)
# 预测测试集数据
y_test_predict = lr.predict(X_test)

四、可视化

# y_train_predict-y_train训练数据误差值
plt.scatter(y_train_predict, y_train_predict-y_train, c='r',
            marker='s', edgecolor='white', label='训练数据')
# y_train_predict-y_train测试数据误差值
plt.scatter(y_test_predict, y_test_predict-y_test, c='g',
            marker='o', edgecolor='white', label='测试数据')
plt.xlabel('预测值', fontproperties=font)
plt.ylabel('误差值', fontproperties=font)
# 可视化y=0的一条直线即误差为0的直线
plt.hlines(y=0, xmin=-10, xmax=50, color='k')
plt.xlim(-10, 50)
plt.legend(prop=font)
plt.show()

五、均方误差测试

from sklearn.metrics import mean_squared_error

# 训练集的均方误差
train_mse = mean_squared_error(y_train,y_train_predict)
# 测试集的均方误差
test_mse = mean_squared_error(y_test,y_test_predict)
print('训练集的均方误差:{}'.format(train_mse))
print('测试集的均方误差:{}'.format(test_mse))
训练集的均方误差:23.049177061822277
测试集的均方误差:19.901828312902534

训练集的均方误差是19.4,而测试集的均方误差是28.4,可以发现测试集的误差更大了,也就是说训练集过拟合了。

原文地址:https://www.cnblogs.com/nickchen121/p/11686785.html

时间: 2024-10-01 20:43:52

02-07 多元线性回归(波士顿房价预测)的相关文章

02-06 普通线性回归(波斯顿房价预测)+特征选择

目录 普通线性回归(波士顿房价预测) 一.导入模块 二.获取数据 2.1 打印数据 三.特征选择 3.1 散点图矩阵 3.2 关联矩阵 四.训练模型 五.可视化 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblogs.com/nickchen121/ 普通线性回归(波士顿房价预测) 一.导入模块 import pandas as pd import numpy as np import matplotlib.

02-08 多项式回归(波士顿房价预测)

目录 多项式回归(波士顿房价预测) 一.导入模块 二.获取数据 三.训练模型 3.1 报告决定系数 四.可视化 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblogs.com/nickchen121/ 多项式回归(波士顿房价预测) 一.导入模块 import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplot

02-11 RANSAC算法线性回归(波斯顿房价预测)

目录 RANSAC算法线性回归(波斯顿房价预测) 一.RANSAC算法流程 二.导入模块 三.获取数据 四.训练模型 五.可视化 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblogs.com/nickchen121/ RANSAC算法线性回归(波斯顿房价预测) 虽然普通线性回归预测结果总体而言还是挺不错的,但是从数据上可以看出数据集中有较多的离群值,因此本节将使用RANSAC算法针对离群值做处理,即根据数据

机器学习笔记02:多元线性回归、梯度下降和Normal equation

在<机器学习笔记01>中已经讲了关于单变量的线性回归以及梯度下降法.今天这篇文章作为之前的扩展,讨论多变量(特征)的线性回归问题.多变量梯度下降.Normal equation(矩阵方程法),以及其中需要注意的问题. 单元线性回归 首先来回顾一下单变量线性回归的假设函数: Size(feet2) Price($1000) 2104 460 1416 232 1534 315 852 178 - - 我们的假设函数为 hθ(x)=θ0+θ1x 多元线性回归 下面介绍多元线性回归(Linear R

《用Python玩转数据》项目—线性回归分析入门之波士顿房价预测(二)

接上一部分,此篇将用tensorflow建立神经网络,对波士顿房价数据进行简单建模预测. 二.使用tensorflow拟合boston房价datasets 1.数据处理依然利用sklearn来分训练集和测试集. 2.使用一层隐藏层的简单网络,试下来用当前这组超参数收敛较快,准确率也可以. 3.激活函数使用relu来引入非线性因子. 4.原本想使用如下方式来动态更新lr,但是尝试下来效果不明显,就索性不要了. def learning_rate(epoch): if epoch < 200: re

【udacity】机器学习-波士顿房价预测小结

Evernote Export body,td { font-family: 微软雅黑; font-size: 10pt } 机器学习的运行步骤 1.导入数据 没什么注意的,成功导入数据集就可以了,打印看下数据的标准格式就行 用个info和describe 2.分析数据 这里要详细分析数据的内容,看看缺省值和数据的特征,主要是为了看到数据的特征,并且人肉分析一下特征值对目标值的大约影响,嗯,就是这样 然后开始划分数据,将数据分为两个部分,一个数据的特征值(features),一个是数据的目标值(

多元线性回归的预测

  回归模型除了对参数进行估计和检验,以弄清楚变量的相关性和因果性之外,另一个目的便是进行预测. 那么,由OLS方法的出来的预测结果是否可靠呢?预测结果的可靠性又会受什么因素的影响呢?除了点估计的预测结果,能否有区间估计的预测结果呢? 本文就这些问题,来进行一一探讨  1.引入why? 回归模型除了对参数进行估计和检验,以弄清楚变量的相关性和因果性之外,另一个目的便是进行预测. 那么,由OLS方法的出来的预测结果是否可靠呢?预测结果的可靠性又会受什么因素的影响呢?除了点估计的预测结果,能否有区间

【Python数据挖掘课程】五.线性回归知识及预测糖尿病实例

今天主要讲述的内容是关于一元线性回归的知识,Python实现,包括以下内容:        1.机器学习常用数据集介绍        2.什么是线性回顾        3.LinearRegression使用方法        4.线性回归判断糖尿病        前文推荐:       [Python数据挖掘课程]一.安装Python及爬虫入门介绍       [Python数据挖掘课程]二.Kmeans聚类数据分析及Anaconda介绍       [Python数据挖掘课程]三.Kmean

R语言解读多元线性回归模型

转载:http://blog.fens.me/r-multi-linear-regression/ 前言 本文接上一篇R语言解读一元线性回归模型.在许多生活和工作的实际问题中,影响因变量的因素可能不止一个,比如对于知识水平越高的人,收入水平也越高,这样的一个结论.这其中可能包括了因为更好的家庭条件,所以有了更好的教育:因为在一线城市发展,所以有了更好的工作机会:所处的行业赶上了大的经济上行周期等.要想解读这些规律,是复杂的.多维度的,多元回归分析方法更适合解读生活的规律. 由于本文为非统计的专业