写一个程序用python建立房价预测模型。利用singleFeature.txt(单特征)和mulFeatures.txt(多特征)中的数据,进行线性回归和预测。
时间: 2024-06-10 17:06:44 浏览: 83
好的,我可以帮您解答这个问题。首先,您需要导入需要的库:numpy、pandas和sklearn中的线性回归模块。然后,使用pandas读取数据文件并将其转换为数据帧。接下来,按照要求选择单特征或多特征,将数据分为训练集和测试集,并使用线性回归模块进行训练和预测。最后,您可以根据模型的预测结果对未来的房价进行预测。对于具体的代码实现,您可以参考以下步骤:
1. 导入库
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
2. 读取数据并转换为数据帧
# 单特征
df_single = pd.read_csv('singleFeature.txt', header=None, names=['square', 'price'])
# 多特征
df_mul = pd.read_csv('mulFeatures.txt', header=None, names=['square', 'room', 'price'])
3. 选择特征和目标变量,分为训练集和测试集
# 单特征
X_single = df_single[['square']]
y_single = df_single['price']
# 多特征
X_mul = df_mul[['square', 'room']]
y_mul = df_mul['price']
# 划分训练集和测试集
from sklearn.model_selection import train_test_split
X_train_single, X_test_single, y_train_single, y_test_single = train_test_split(X_single, y_single, test_size=0.3, random_state=0)
X_train_mul, X_test_mul, y_train_mul, y_test_mul = train_test_split(X_mul, y_mul, test_size=0.3, random_state=0)
4. 训练模型并进行预测
# 单特征线性回归
linreg_single = LinearRegression()
linreg_single.fit(X_train_single, y_train_single)
y_pred_single = linreg_single.predict(X_test_single)
# 多特征线性回归
linreg_mul = LinearRegression()
linreg_mul.fit(X_train_mul, y_train_mul)
y_pred_mul = linreg_mul.predict(X_test_mul)
5. 模型评估
# 单特征结果评估
from sklearn.metrics import mean_squared_error, r2_score
mse_single = mean_squared_error(y_test_single, y_pred_single)
r2_single = r2_score(y_test_single, y_pred_single)
# 多特征结果评估
mse_mul = mean_squared_error(y_test_mul, y_pred_mul)
r2_mul = r2_score(y_test_mul, y_pred_mul)
6. 对未来房价进行预测
# 预测未来房价
square = 100
room = 2
price_pred = linreg_mul.predict([[square, room]])
print('预测未来房价为:', price_pred)
希望这些步骤可以帮助您完成房价预测模型的建立和预测。如果您有任何其他问题,请随时提出。
阅读全文