使用线性回归模型LinearRegression和SGDRegression分别对美国波士地区房价进行预测

本文利用sklearn库中的LinearRegression和SGDRegressor模型对波士顿地区的房价进行预测。首先,对数据进行预处理,包括查看数据信息、分割数据集以及对特征和目标值进行标准化。然后,分别训练两个模型并进行预测,最后通过r2_score、mean_squared_error和mean_absolute_error评估模型的性能。
摘要由CSDN通过智能技术生成
from sklearn.datasets import load_boston
from sklearn.cross_validation import train_test_split
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import SGDRegressor
from sklearn.metrics import r2_score,mean_squared_error,mean_absolute_error
#导入数据
boston = load_boston()
#查看数据信息
print(boston.DESCR)
X = boston.data
y = boston.target 
#对数据进行分割
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=33)
print('The max target value is:',np.max(boston.target))
print('\n'*2)
print('The min target is :',np.min(boston.target))
print('\n'*2)
print('The average of target value is',np.average(boston.target))
#通过上面可以发现数据预测目标房价之间的差异较大,因此需要对特征以及目标进行标准化处理
好的,我明白了你的问题。但是请注意,我是一个语言模型,不能直接训练模型。我可以给你提供一个大致的步骤,帮助你完成这个任务。 首先,你需要下载并加载波士房价数据集。然后,你可以将数据集分成训练集和测试集。建议使用 scikit-learn 库来完成这个任务。 接下来,你可以使用决策树和随机森林算法来训练模型。同样,你可以使用 scikit-learn 库中的 DecisionTreeRegressor 和 RandomForestRegressor 类来完成训练过程。 最后,你可以使用测试集来评估模型的性能。评估指标可以选择均方根误差(RMSE)或平均绝对误差(MAE)等。 以下是一个简单的示例代码: ``` # 加载数据集 from sklearn.datasets import load_boston boston = load_boston() # 划分数据集 from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target, test_size=0.2, random_state=42) # 训练决策树模型 from sklearn.tree import DecisionTreeRegressor dt = DecisionTreeRegressor(random_state=42) dt.fit(X_train, y_train) # 训练随机森林模型 from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state=42) rf.fit(X_train, y_train) # 评估模型性能 from sklearn.metrics import mean_squared_error, mean_absolute_error y_pred_dt = dt.predict(X_test) y_pred_rf = rf.predict(X_test) rmse_dt = mean_squared_error(y_test, y_pred_dt, squared=False) rmse_rf = mean_squared_error(y_test, y_pred_rf, squared=False) mae_dt = mean_absolute_error(y_test, y_pred_dt) mae_rf = mean_absolute_error(y_test, y_pred_rf) print("决策树模型的 RMSE 值为:", rmse_dt) print("随机森林模型的 RMSE 值为:", rmse_rf) print("决策树模型的 MAE 值为:", mae_dt) print("随机森林模型的 MAE 值为:", mae_rf) ``` 希望这对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值