其他分享
首页 > 其他分享> > 16多项式回归-房价与尺寸线性拟合

16多项式回归-房价与尺寸线性拟合

作者:互联网

多项式回归

线性回归实例中,是运用直线来拟合数据输入与输出之间的线性关系。

不同于线性回归,多项式回归是使用曲线拟合数据的输人与输出的映射关系。

image

多项式回归的应用

应用背景:根据已知的房屋成交价和房屋的尺寸进行了线性回归,继而可以对已知房屋尺寸,而未知房屋成交价格的实例进行了成交价格的预测,但是在实际的应用中这样的拟合往往不够好,因此我们在此对该数据集进行多项式回归。

目标:对房屋成交信息建立多项式回归方程,并依据回归方程对房屋价格进行预测。

技术路线:sklearn.preprocessing.PolynomialFeatures

实例数据:成交信息包括房屋的面积以及对应的成交价格



实验过程

使用算法:线性回归

实现步骤:
1、建立工程并导人sklearn包

import matplotlib.pyplot as plt
import numpy as np
from sklearn import linear_model
from sklearn.preprocessing import PolynomialFeatures

2、加载训练数据,建立回归方程。

3.可视化处理


具体代码

import matplotlib.pyplot as plt
import numpy as np
from sklearn import linear_model
from sklearn.preprocessing import PolynomialFeatures

# 读取数据集
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]))

datasets_X = np.array(datasets_X).reshape([-1, 1])
datasets_Y = np.array(datasets_Y)

minX = min(datasets_X)
maxX = max(datasets_X)
X = np.arange(minX, maxX).reshape([-1, 1])

poly_reg = PolynomialFeatures(degree=2)
X_poly = poly_reg.fit_transform(datasets_X)
# 使用线性模型学习X_poly和datasets_Y之间的映射关系(即参数)
lin_reg_2 = linear_model.LinearRegression()
lin_reg_2.fit(X_poly, datasets_Y)

# 图像中显示
plt.scatter(datasets_X, datasets_Y, color='red', label='origin data')
plt.plot(X, lin_reg_2.predict(poly_reg.fit_transform(X)), color='blue', label='Polynomial regression prediction')
plt.legend()  # 使label生效
plt.xlabel('Area')
plt.ylabel('Price')
plt.show()



结果展示

通过多项式回归拟合的曲线与数据点的关系如下图所示。依据该多项式回归方程即可通过房屋的尺寸,来预测房屋的成交价格。

image



最后的思考

线性回归和多项式回归,都是回归的一种方法。

个人观点:

今天早上骑车被撞了,摔了一跤,手摔破了麻了痛死了,平板也摔折了,不过还能用。

还好脸没事

标签:datasets,16,多项式,回归,回归方程,plt,拟合,import
来源: https://www.cnblogs.com/Siri-99/p/15431119.html