欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用 sklearn 线性回归 拟合房价与房屋尺寸关系

程序员文章站 2022-07-14 13:40:08
...

线性回归:

 线性回归(Linear Regression)是利用数理统计中回归分析, 来确定两种或两种以上变量间相互依赖的定量关系的一种统计分 析方法。

 线性回归利用称为线性回归方程的最小平方函数对一个或多个自 变量和因变量之间关系进行建模。这种函数是一个或多个称为回 归系数的模型参数的线性组合。只有一个自变量的情况称为简单 回归,大于一个自变量情况的叫做多元回归。

线性回归:使用形如y=wTx+b 的线性模型拟合数据输入和输出之 间的映射关系的。

用 sklearn 线性回归 拟合房价与房屋尺寸关系

线性回归的实际用途

线性回归有很多实际的用途,分为以下两类:

1.如果目标是预测或者映射,线性回归可以用来对观测数据集的y和X 的值拟合出一个预测模型。当完成这样一个模型以后,对于一个新增的X值, 在没有给定与它相配对的y的情况下,可以用这个拟合过的模型预测出一个 y值。

2.给定一个变量y和一些变量X , ⋯ , Xj ,这些变量有可能与y相关,线
性回归分析可以用来量化y与X j 之间相关性的强度,评估出与y不相关的Xj,
并识别出哪些Xj 的子集包含了关于y的冗余信息。

线性回归的应用

背景:

与房价密切相关的除了单位的房价,还有房屋的尺寸。我们可以根 据已知的房屋成交价和房屋的尺寸进行线性回归,继而可以对已知房屋尺 寸,而未知房屋成交价格的实例进行成交价格的预测。

实例数据:

用 sklearn 线性回归 拟合房价与房屋尺寸关系

可行性分析:

• 简单而直观的方式是通过数据的可视化直接观察房屋成交价格与房 屋尺寸间是否存在线性关系。

• 对于本实验的数据来说,散点图就可以很好的将其在二维平面中进 行可视化表示。

代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun May 28 08:36:55 2017

@author: xiaolian
"""
import matplotlib.pylab as plt
import numpy as np
from sklearn import linear_model

datasets_x = []
datasets_y = []

fr = open('prices.txt', 'r')

lines = fr.readlines()

for line in lines:
    items = line.strip().split(',')
    datasets_x.append(int(items[0]))
    datasets_y.append(int(items[1]))

print(datasets_x,'---------------------------------', datasets_y)

length = len(datasets_x)
datasets_x = np.array(datasets_x).reshape([length, 1])
datasets_y = np.array(datasets_y)

print(datasets_x)
print(datasets_y)

minX = min(datasets_x)
maxX = max(datasets_x)

print(minX)
print(maxX)

x = np.arange(minX, maxX)

print(x)

x = np.arange(minX, maxX).reshape([-1, 1])
print(x)

linear = linear_model.LinearRegression()
linear.fit(datasets_x, datasets_y)

#
plt.scatter(datasets_x, datasets_y, color = 'red')

plt.plot(x, linear.predict(x), color = 'blue')
plt.xlabel('Area')
plt.ylabel('Price')

结果:

用 sklearn 线性回归 拟合房价与房屋尺寸关系

上一篇: OpenCV example

下一篇: Flot example