机器学习-多因子线性回归

以Income、House age、Numbers Of Rooms、Population、Area为输入变量,建立多因子模型,预测合理房价price,评估模型表现。

代码如下:

python 复制代码
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import  mean_squared_error,r2_score
from matplotlib import pyplot as plt

data=pd.read_csv('usa_housing_price.csv')
fig = plt.figure(figsize=[10,10])

fig1=plt.subplot(2,3,1)  # 表示2行3列,第1个图
plt.scatter(data.loc[:,'Avg.Area Income'],data.loc[:,'Price'])
plt.title('Price vs Area Income')

fig2=plt.subplot(2,3,2)  # 表示2行3列,第2个图
plt.scatter(data.loc[:,'Avg.Area House Age'],data.loc[:,'Price'])
plt.title('Price vs House Age')

fig3=plt.subplot(2,3,3)  # 表示2行3列,第3个图
plt.scatter(data.loc[:,'Avg.Area Number of Rooms'],data.loc[:,'Price'])
plt.title('Price vs Avg.Area Number of Rooms')

# fig4=plt.subplot(2,3,4)  # 表示2行3列,第4个图
# plt.scatter(data.loc[:,'Area Population'],data.loc[:,'Price'])
# plt.title('Price vs Area Population')

fig5=plt.subplot(2,3,5)  # 表示2行3列,第5个图
plt.scatter(data.loc[:,'size'],data.loc[:,'Price'])
plt.title('Price vs size')
plt.show()

Y=data.loc[:,'Price']
# define X_multi
X_multi =data.drop(['Price'],axis=1) # 除了Price的变量都放入X_multi,不需要reshape
# set up 2nd linear model
LR_multi=LinearRegression()

LR_multi.fit(X_multi,Y)
# make prediction
y_predict_multi=LR_multi.predict(X_multi)
print(y_predict_multi)

# 模型评估
mean_squared_error_multi=mean_squared_error(Y,y_predict_multi)
r2_score_multi =r2_score(Y,y_predict_multi)
print(mean_squared_error_multi,r2_score_multi)

fig6=plt.figure(figsize=[8,5])
plt.scatter(Y,y_predict_multi) # 拟合真实Y和预测Y关系图像
plt.show()

# 使用模型进行预测Price
x_test=[65000,5,5,30000,200]
x_test=np.array(x_test).reshape(1,-1)
y_test_predict=LR_multi.predict(x_test)
print("预测房价",y_test_predict)

数据如图:


输出结果:

单因子与价格(Price)关系图:

真实Y和预测Y关系图:

相关推荐
机 _ 长几秒前
05 智算运维|8 张卡怎么才算「捆成一张」:NCCL 实测与拓扑
运维·人工智能·算法·智算运维
用户43567829363721 分钟前
五线并行认知架构:从算力内卷到思考秩序的底层革命
人工智能
一 铭27 分钟前
WrenAI 详解:给 AI Agent 的开源 GenBI 引擎
人工智能·开源
say_fall29 分钟前
【AI大模型】MCP 模型上下文协议:客户端-服务器架构、JSON-RPC 消息与能力协商、工具发现与调用链路、与函数调用的分工
服务器·人工智能·架构
早起CaiCai1 小时前
【2023-01 OM】利用深度学习算法融合异质观测实现海洋场降尺度
人工智能·深度学习·算法
周杰伦的稻香1 小时前
AI 助手 2.0:多轮对话、卡片化与文章页感知
人工智能
Martina_03211 小时前
AI生成3D场景从白模换成精模后镜头全偏了?用6步检查单位、枢轴与层级替换
图像处理·人工智能·3d·ai·自然语言处理·材质·1024程序员节
狒狒AI1 小时前
手绘白板动画的生产线拆解:AI 出图、笔迹对齐、镜头渲染七道工序(附 21 个开源脚本)
人工智能·aigc
用户2763965765102 小时前
上手 GitHub 官方 Spec Kit:AI 编码别再裸奔,先写 spec 再出码,SDD规约开发
人工智能
Lucas_coding2 小时前
【Agent】Agent 知识地图:核心概念、工程方法与产品生态
人工智能