当前位置: 首页 > news >正文

【案例共创】从0开始使用华为云开发者空间搭建房价预测模型

最新案例动态,请查阅【案例共创】从0开始使用华为云开发者空间搭建房价预测模型。小伙伴们快来领取华为开发者空间进行实操吧!

本案例由:梅科尔工作室提供

1 概述

1.1 案例介绍

华为云开发者空间,华为云为每个新生态开发者免费提供一台云主机,每位开发者每年可享有数百小时的使用时长。云主机预集成CodeArts IDE、代码仓及JDK、Python等运行时插件,解决本地开发环境中配置复杂、稳定性不足和依赖等问题,为开发者提供性能强大、安全、稳定、高效的开发环境。

官方文档:图解开发者空间-平台概述-开发者空间 Developer Space

本案例为从0开始使用华为云开发者空间搭建房价预测模型,并借助开发者空间云主机提供的免费CodeArts IDE for Python编辑器进行代码编写。

通过实际操作,让大家深入了解,如何使用华为云开发者空间从0开始搭建一个房价预测模型,也可以使开发者更深入的了解开发者空间和CodeArts IDE的功能。

1.2 适用对象

  • 个人开发者

  • 高校学生

1.3 案例时间

本案例总时长预计30分钟。

1.4 案例流程

说明:

  1. 配置开发者空间环境;

  2. 打开IDE搭建房价预测模型。

1.5 资源总览

本案例预计花费总计0元。

| 开发者空间 | 2vCPUs | 4GB X86 |Ubuntu 22.04 Server定制版 |

2 开发者空间配置和Python工程创建

2.1 登录华为云开发者空间

浏览器输入以下地址:

https://developer.huaweicloud.com/space/devportal/desktop

2.2 环境配置

如果开发者使用Python集成环境,需要在‘’使⽤说明‘’⸺>‘’配置信息‘’当中,选择CPU架构为X86,操作系统为‘’Ubuntu‘’,公共镜像选择为‘’Ubuntu 22.04 server定制版‘’。

注意:如果云主机正在运行,需要先重置,等云主机关机后再进行环境配置。

点击‘’进入桌面‘’,进入到云主机桌面中

2.3 打开Python集成开发环境

打开IDE后,选择新建工程,然后按照下图进行环境配置,注:名称可以自定义,配置完成后点击创建

这样,一个全新的Python工程就创建好啦!

3 房价预测模型创建

3.1 项目介绍

本项目旨在通过线性回归模型预测房屋总价。具体来说,我们将使用房屋面积作为自变量,总价作为因变量,通过线性回归模型来预测房屋总价,并评估模型的性能。

3.2 代码分析

导入必要的库

importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.linear_modelimportLinearRegressionfromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportmean_squared_error,r2_score
  • numpy:用于数值计算;
  • matplotlib.pyplot:用于数据可视化;
  • sklearn.linear_model.LinearRegression:用于创建线性回归模型;
  • sklearn.model_selection.train_test_split:用于划分训练集和测试集;
  • sklearn.metrics.mean_squared_error和sklearn.metrics.r2_score:用于评估模型性能。

注意:首次运行会出现报错,因为编译器里没有项目所需的一些依赖,要进行配置

打开终端,输入对应依赖包:

以本项目为例:

pipinstallnumpy pipinstallmatplotlib pipinstallscikit-learn# 安装后可查看安装结果#在终端继续输⼊pip list|grepnumpy#终端打印出:numpy2.2.2#即为安装成功pip list|grepmatplotlib#终端打印出:matplotlib3.10.0#即为安装成功pip list|grepscikit-learn#终端打印出:scikit-learn1.6.1#即为安装成功
  1. 生成模拟数据
np.random.seed(0)# 设置随机种⼦以保证结果可复现# ⽣成房屋⾯积(平⽅⽶)areas=np.random.uniform(50,200,100)# ⽣成100个⾯积,范围在50到200平⽅⽶之间# ⽣成单位⾯积的价格(元/平⽅⽶)unit_prices=np.random.uniform(10000,30000,100)# ⽣成100个单位⾯积价格,范围在10000到30000元/平⽅⽶之间# 计算总价total_prices=areas*unit_prices# 将数据转换为⼆维数组(scikit-learn需要⼆维输⼊)X=areas.reshape(-1,1)# ⾃变量:⾯积y=total_prices# 因变量:总价
  • 使用Np.random.uniform生成房屋面积和单位面积价格的随机数据;

  • 计算房屋总价;

  • 将自变量areas转换为二维数组,以满足scikit-learn的输入要求。

  1. 划分训练集和测试
X_train,X_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=42)
  • 使用train_test_split将数据划分为训练集和测试集,测试集占总数据的20%
  1. 创建并训练线性回归模型
model=LinearRegression()model.fit(X_train,y_train)
  • 创建LinearRegression模型;

  • 使用训练集数据训练模型

  1. 预测测试集
y_pred=model.predict(X_test)
  1. 评估模型
mse=mean_squared_error(y_test,y_pred)r2=r2_score(y_test,y_pred)print(f"均⽅误差 (MSE):{mse:.2f}")print(f"决定系数 (R^2):{r2:.2f}")
  • 使用均方误差(MSE)和决定系数(R^2)评估模型性能。

  • 打印评估结果

  1. 可视化结果
#可视化结果plt.figure(figsize=(10,6))plt.scatter(X_test,y_test,color='blue',label='real',alpha=0.6)plt.plot(X_test,y_pred,color='red',linewidth=2,label='reveiew')plt.xlabel('m\*m',fontsize=12)plt.ylabel('RMB',fontsize=12)plt.title('relationship',fontsize=14)plt.legend(fontsize=10)plt.grid(True)#保存图像plt.savefig('example_plot.png')print("图像已保存为 example_plot.png")# 显⽰图像plt.show()
  • 使用matplotlib.pyplot绘制散点图和预测线;

  • 保存图像并显示。

项目结果

  • 均方误差(MSE):衡量预测值与真实值之间的平均误差平方;

  • 决定系数(R^2):衡量模型对数据拟合程度,值越接近1表示拟合效果越好;

  • 可视化图像:展示了测试集的真实值和预测值之间的关系。

项目意义

本项目通过线性回归模型预测房屋总价,展示了如何使用scikit-learn进行数据预处理、模型训练、预测和评估,以及如何使用matplotlib进行数据可视化。这为初学者提供了一个完成的机器学习项目示例。

运行结果

至此,从0开始使用华为云开发者空间搭建房价预测实验完成。

http://www.jsqmd.com/news/100828/

相关文章:

  • vLLM推理引擎教程6-Nsight Systems性能分析
  • JX6-CON1控制器模块
  • 海外回国eSIM避坑指南一定要提前搞懂,不然真的会被坑惨!
  • spark读hive偶尔出现table not found
  • keyence颜色传感器LR-W70使用(最多可区分16种颜色)
  • Wan2.2-T2V-A14B模型部署与高保真T2V实战
  • Kubernetes Debug 专用镜像实践指南
  • AIGC简介
  • LangGraph4j 入门
  • 基于VUE的企业信息管理系统 [VUE]-计算机毕业设计源码+LW文档
  • Linux SSH隧道代理转发及多层转发
  • 硬核拆解:这套电影解说工作流,如何帮你零成本搭建AI影视解说SaaS
  • 12/16
  • LobeChat安全与权限管理实战解析
  • Nano Banana Pro 如何重塑 AI 驱动的教育未来
  • 黑科技加持,工作效率翻倍!这 9 款小众软件宝藏盘点
  • 女朋友到家前 10 分钟,空调自动开暖风(小智 MCP 实战)
  • 12.12 标签(四) 表格
  • 海报设计无从下手?这3个技巧让你告别空白画布
  • LobeChat能否实现段落缩写功能?长文本精炼助手
  • β-Amyloid (25-35);GSNKGAIIGLM
  • Hutool Beanutil.copyproperties() 是浅拷贝还是深拷贝 - Higurashi
  • 【小白笔记】大数加法
  • 课题申报新手入门必备指南!利用AI辅助搞定 6大关键部分,高效提升申报成功率(附AI提示词)
  • Java面试题含答案——2025年最新完整分享,收藏这篇就够了
  • Flutter状态管理全解析:Provider vs Bloc vs Riverpod实战对比
  • unity中简单控制角色移动及动画实例--以及角色动画抖动残影拖影处理
  • 【小白笔记】二叉树的前序,中序,后序,层序遍历(递归与迭代)
  • 无人机红外图像下极小目标检测数据集,无人机红外小目标检测数据集 低空安防、机场净空监测、反无人机系统、鸟类迁徙监控 YOLOv8** 构建的 **无人机红外图像下极小目标检测系统
  • 深入解析:电压基准芯片详解:从原理到选型,附 TLV431 应用解析