一元线性回归python示例——房价预测
发布日期:2021-05-13 19:12:19 浏览次数:22 分类:精选文章

本文共 1787 字,大约阅读时间需要 5 分钟。

以下是重新优化后的内容:

假设房价只有面积一个影响因素,根据下列数据建立线性回归模型,并预测面积为700平方英尺的房子价格。

将数据以CSV格式存储在house_price.csv文件中,并确保文件与运行脚本位于同一目录下。

#!/usr/bin/python
# coding:utf-8
# 依赖库:matplotlib、pandas、sklearn
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.linear_model import LinearRegression
# 读取数据并解析
def get_data(file_name):
data = pd.read_csv(file_name)
X_parameter = []
Y_parameter = []
for square_feet, price in zip(data['square_feet'], data['price']):
X_parameter.append(float(square_feet))
Y_parameter.append(float(price))
return X_parameter, Y_parameter
# 线性回归分析
def linear_model_main(X_parameter, Y_parameter, predict_square_feet):
model = LinearRegression()
model.fit(X_parameter, Y_parameter)
predicted_price = model.predict([predict_square_feet])
return {
'intercept': model.intercept_,
'coefficient': model.coef_,
'predicted_price': predicted_price
}
# 绘制散点图和回归直线
def show_linear_line(X_parameter, Y_parameter):
model = LinearRegression()
model.fit(X_parameter, Y_parameter)
plt.scatter(X_parameter, Y_parameter, color='blue')
plt.plot(X_parameter, model.predict(X_parameter), color='red', linewidth=4)
plt.title('房价与面积的线性回归分析')
plt.xlabel('面积(平方英尺)')
plt.ylabel('价格')
plt.show()
# 运行主函数
def main():
X, Y = get_data('./house_price.csv')
predict_square_feet = 700
result = linear_model_main(X, Y, predict_square_feet)
print(f'截距值:{result["intercept"]}')
print(f'回归系数:{result["coefficient"]}')
print(f'700平方英尺房子的价格预测值:{result["predicted_price"]}美元')
show_linear_line(X, Y)
if __name__ == '__main__':
main()

运行结果如下:

截距值:7573.727204056826 回归系数:32.763657914689866 700平方英尺房子的价格预测值:31170.61562043405 美元

注:图形化展示已移除为更专注于内容展示,具体价格和模型参数清晰呈现,便于理解和应用。

上一篇:线性回归
下一篇:决策树—回归

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月06日 11时06分49秒