使用线性回归构建房价预测

158 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第11天,点击查看活动详情

使用线性回归构建房价预测

数据集介绍:

1.样本数:10000

2.特征数量: 12个相关属性(即12个指标变量),1个类别变 量(即loan_status,贷款状态)。

其中包括8个Default,8764个Fully Paid,1203个Charged Off, 1个Late (16-30 days),24个Late (31-120 days)。

测试模型时,将从各类别中分别抽取70%的数据作为训练集, 用剩余样本进行分类结果测试。 在我们的例子中 y = 波士顿房价。 X = 其余的输入变量。

image.png

流程如下:

  1. 导入工具包
  2. 加载数据
  3. 训练集-测试集划分
  4. 模型构建
  5. 模型预测与评价
 # 01 导包
 ​
 #导入pandas
 import pandas as pd
 #从sklearn的模型选择模块导入训练集-测试集划分类
 from sklearn.model_selection import train_test_split
 #从sklearn的线性模型模块导入线性回归类
 from sklearn.linear_model import LinearRegression
 #从sklearn的模型评价模块导入决定系数
 from sklearn.metrics import r2_score
 #从sklearn的模型评价模块导入均方误差
 from sklearn.metrics import mean_squared_error
 ​
 # 02 加载数据
 使用Pandas的read_csv函数从csv中读取数据,预测目标特征是‘target‘,其余的数据为训练数据
 #读取csv
 data = pd.read_csv('d:/datasets/HousingData.csv') 
 #数据标签                  
 y = data['target'] 
 X = data.copy().drop(['target'], axis=1) #去掉标签列的完整数据
                    
 # 03 训练集-测试集划分         
 训练集-测试集划分,一部分用于模型训练,一部分用于模型评估,比例为70%(训练)--30%(测试 )         
 #X_train为训练数据, y_train为训练集标签,X_test为测试数据,y_test为测试集标签
 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3)
 ​
 # 04 模型构建
 lr = LinearRegression() #创建一个线性回归对象
 lr.fit(X_train, y_train) #拟合
 ​
 # 05 模型预测与评价
 y_pred = lr.predict(X_test)#模型预测
 print(r2_score(y_test, y_pred))#模型评价, 决定系数
 print(mean_squared_error(y_test, y_pred))#均方误差
 ​

image.png