线性模型 线性回归小试 python房价预测模型(多特征)

1.文件(mulFeatures.txt)

2104,3,399900
1600,3,329900
2400,3,369000
1416,2,232000
3000,4,539900
1985,4,299900
1534,3,314900
1427,3,198999
1380,3,212000
1494,3,242500
1940,4,239999
2000,3,347000
1890,3,329999
4478,5,699900
1268,3,259900
2300,4,449900
1320,2,299900
1236,3,199900
2609,4,499998
3031,4,599000
1767,3,252900
1888,2,255000
1604,3,242900
1962,4,259900
3890,3,573900
1100,3,249900
1458,3,464500
2526,3,469000
2200,3,475000
2637,3,299900
1839,2,349900
1000,1,169900
2040,4,314900
3137,3,579900
1811,4,285900
1437,3,249900
1239,3,229900
2132,4,345000
4215,4,549000
2162,4,287000
1664,2,368500
2238,3,329900
2567,4,314000
1200,3,299000
852,2,179900
1852,4,299900
1203,3,239500

2.代码(因为数据集本身没有排序,故未随机分开)

import matplotlib.pyplot as plt
import numpy as np

# y=a1x1+a2x2+b
f = open('mulFeatures.txt', 'r')  # 读文件
x1 = []
x2 = []
y = []
while 1:
    yihang = f.readline()
    if len(yihang) <= 1:
        break
    fenkai = yihang.split(',')
    fenkai[0] = eval(fenkai[0])
    fenkai[1] = eval(fenkai[1])
    fenkai[2] = eval(fenkai[2])
    x1.append(fenkai[0])
    x2.append(fenkai[1])
    y.append(fenkai[2])
# 定义图像和三维格式坐标轴
fig = plt.figure()
m = plt.axes(projection='3d')
m.scatter3D(x1, x2, y, alpha=0.8)  # 绘制散点图
xa1 = np.array([x1])  # 转矩阵(中括号不加无法转置)
xa2 = np.array([x2])
ya = np.array([y])
xa1 = xa1.T  # 行向量转列向量
xa2 = xa2.T
ya = ya.T
X = np.hstack((xa1, xa2))  # 矩阵合并、列合并
X = np.insert(X, 2, values=np.ones(len(x1)), axis=1)  # 第三列添加一列1(b)
w = np.dot(X.T, X)  # 矩阵相乘
w = np.dot(np.linalg.inv(w), X.T)  # 矩阵逆再乘
w = np.dot(w, ya)
print(w)
xl=np.linspace(0, 5000, ) #绘制回归曲面(平面)
yl=np.linspace(0, 5, )
xl,yl=np.meshgrid(xl,yl,indexing='ij')
zl = w[0][0] * xl + w[1][0] * yl + w[2][0]
m.plot_surface(xl,yl,zl,color='Grey',)  # 三维画面
print('y=', w[0][0], 'x1+', w[1][0], 'x2+', w[2][0])
plt.show()  # 显示

3.结果

感觉拟合结果很不好,期望有人指正。

 

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
线性回归是一种常用的统计方法,可用于分析两个或多个变量之间的关系。在房价预测中,我们使用线性回归模型来预测房价。 要实现线性回归房价预测模型,首先需要导入相关的Python库,如NumPy和scikit-learn。然后,我们可以开始准备数据集。 数据集应包含一些特征(如房屋面积、卧室数量、地理位置等)和相应的房价。使用训练数据集,我们可以训练线性回归模型。 在训练之前,我们需要对数据进行处理。这包括处理缺失值、离群值和进行特征缩放。我们还可以通过可视化数据来了解各个特征与房价之间的关系。 接下来,我们使用训练数据拟合线性回归模型线性回归模型的目标是找到一条最佳拟合线,以最小化实际房价与预测房价之间的误差。 使用训练数据拟合模型后,我们可以对测试数据进行预测。预测得到的房价可以与实际房价进行比较,来评估模型的准确性。 在评估模型时,常用的指标有均方根误差(RMSE)和决定系数(R-squared)。较低的RMSE值和较高的R-squared值表示模型拟合效果较好。 最后,经过模型的训练、预测和评估,我们可以使用该线性回归房价预测模型来预测新的房价。 总结起来,线性回归房价预测模型是通过处理数据、训练模型、预测房价并评估模型性能的过程来实现的。通过Python中的相关库和技术,我们可以轻松地构建一个准确性较高的房价预测模型

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值