机器学习 day6 -线性回归练习

题目‌:

  1. 从Kaggle的“House Prices - Advanced Regression Techniques”数据集
  2. 使用Pandas读取数据,并查看数据的基本信息。
  3. 选择一些你认为对房屋价格有重要影响的特征,并进行数据预处理(如缺失值处理、异常值处理等)。
  4. 使用matplotlib绘制特征与目标变量(房屋价格)之间的散点图或箱线图,观察它们之间的关系。
  5. 将数据分为训练集和测试集。
  6. 使用numpy或scikit-learn搭建一个线性回归模型,并在训练集上进行训练。
  7. 在测试集上评估模型的性能,并计算均方误差(MSE)或均方根误差(RMSE)。
  8. 尝试使用不同的特征组合或进行特征选择,观察模型性能的变化。
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression# 中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 使用Pandas读取数据,并查看数据的基本信息。
data = pd.read_csv('./train.csv')
print(data.head())# 选择一些你认为对房屋价格有重要影响的特征,并进行数据预处理(如缺失值处理、异常值处理等)。
# 判断是否有缺失值
print(data.isnull().sum())
# 使用中位数填充缺失值
data['LotFrontage'] = data['LotFrontage'].fillna(data['LotFrontage'].median())
data['MasVnrArea'] = data['MasVnrArea'].fillna(data['MasVnrArea'].median())
data['GarageYrBlt'] = data['GarageYrBlt'].fillna(data['GarageYrBlt'].median())
# 异常值处理
data = data[data['SalePrice'] < 500000]# 使用matplotlib绘制特征与目标变量(房屋价格)之间的散点图或箱线图,观察它们之间的关系。
plt.scatter(data['GrLivArea'], data['SalePrice'], alpha=0.5)
plt.title('住房面积与房价的关系')
plt.xlabel('住房面积')
plt.ylabel('房价')
plt.show()# 选择数值型特征
numeric_features = data.select_dtypes(include=[np.number]).columns.tolist()
numeric_features.remove('SalePrice')  # 移除目标变量# 将数据分为训练集和测试集。
x = data[numeric_features]  # 只使用数值型特征
y = data['SalePrice']# 特征工程(标准化)
transfer = StandardScaler()
# 将数值型特征进行标准化
x = transfer.fit_transform(x)# 使用scikit-learn搭建一个线性回归模型,并在训练集上进行训练。
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
model = LinearRegression()
model.fit(x_train, y_train)# 在测试集上评估模型的性能,并计算均方误差(MSE)或均方根误差(RMSE)。
y_predict = model.predict(x_test)
mse = np.mean((y_predict - y_test) ** 2)
rmse = np.sqrt(mse)
print(f"均方误差(MSE):{mse}")
print(f"均方根误差(RMSE):{rmse}")plt.show()
Pytorch) c:\Users\Wennight531\Desktop\机器学习\day6>D:/Anaconda/envs/Pytorch/python.exe c:/Users/Wennight531/Desktop/机器学习/day6/House_prices.pyId  MSSubClass MSZoning  LotFrontage  LotArea Street Alley  ... MiscFeature MiscVal MoSold YrSold SaleType SaleCondition SalePrice
0   1          60       RL         65.0     8450   Pave   NaN  ...         NaN       0      2   2008       WD        Normal    208500       
1   2          20       RL         80.0     9600   Pave   NaN  ...         NaN       0      5   2007       WD        Normal    181500       
2   3          60       RL         68.0    11250   Pave   NaN  ...         NaN       0      9   2008       WD        Normal    223500       
3   4          70       RL         60.0     9550   Pave   NaN  ...         NaN       0      2   2006       WD       Abnorml    140000       
4   5          60       RL         84.0    14260   Pave   NaN  ...         NaN       0     12   2008       WD        Normal    250000       [5 rows x 81 columns]
Id                 0
MSSubClass         0
MSZoning           0
LotFrontage      259
LotArea            0...
MoSold             0
YrSold             0
SaleType           0
SaleCondition      0
SalePrice          0
Length: 81, dtype: int64
均方误差(MSE):784419750.0907469
均方根误差(RMSE):28007.494534333964

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/80225.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

缓存(2):数据一致性

概述 一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。 强一致性:这种一致性级别是最符合用户直觉的,它要求系统写入什么,读出来的也会是什么,用户体验好,但实现起来往往对系统的性能影响大弱一致性:这种一致性级别约束了系统在写入成功…

CH579 CH573 CH582 CH592 蓝牙主机(Central)实例应用讲解

蓝牙主机&#xff08;Central&#xff09;&#xff0c;顾名思义&#xff0c;就是一个蓝牙主设备&#xff0c;与从机&#xff08;Peripheral&#xff09;建立连接进行通信&#xff0c;可以接收从机通知&#xff0c;也可以给从机发送信息&#xff0c;通常Central和Peripheral结合…

不同类型的 SAP 项目

目录 1 实施项目 2 SAP S/4 HANA 升级项目 3 数据迁移项目 4 优化项目 5 Rollout 项目 6 运维项目 1 实施项目 企业第一次用 SAP 系统&#xff0c;从硬件搭建到安装 SAP、根据业务流程做配置、开发、培训业务、测试系统直到系统上线。 SAP S/4 HANA ACTIVATE 实施方法论…

【uniapp】errMsg: “navigateTo:fail timeout“

项目场景&#xff1a; 在点击编辑的时候不能跳转的编辑的页面&#xff0c;然后直接报错errMsg: "navigateTo:fail timeout" 解决方案&#xff1a; 看看是否是出现了盒子的冒泡事件导致了两次调用跳转路径 tap.stop

记录学习的第三十五天

今天主攻单源最短路Dijkstra算法。不过&#xff0c;还是没有完全掌握。 首先是书本的例题我理解了一遍。 然后其实在力扣上做了三道题的&#xff0c;但是我看题解的情况就不太会。然后试着用上面的方法敲了一下↓的题&#xff0c;但是不对啊&#xff0c;我也不知道为什么呀。

Spring-博客系统项目

一,实现效果 登录: 注册: 博客列表 个人博客中心 博客详情: 更新博客 编写博客 二,数据库的建立和连接 首先,需要建库,需要两个实体,一个是用户,一个是博客,需要如下属性,需要注意的是需要将密码的变长字符创设置的长一些,因为之后会对用户的密码进行加密,该博客中密码…

依赖注入详解与案例(前端篇)

依赖注入详解与案例&#xff08;前端篇&#xff09; 一、依赖注入核心概念与前端价值 依赖注入&#xff08;Dependency Injection, DI&#xff09; 是一种通过外部容器管理组件/类间依赖关系的设计模式&#xff0c;其核心是控制反转&#xff08;Inversion of Control, IoC&…

diy装机成功录

三天前&#xff0c;我正式开启了这次装机之旅&#xff0c;购入了一颗性能强劲的 i5-12400 CPU&#xff0c;一块绘图能力出色的 3060ti 显卡&#xff0c;还有技嘉主板、高效散热器、16G 内存条、2T 固态硬盘&#xff0c;以及气派的机箱和风扇&#xff0c;满心期待能亲手打造一台…

计算机三大主流操作系统的前世今生 - Linux|macOS|Windows

全文目录 1 引言2 起源之路2.1 Linux 起源2.2 macOS 起源2.3 Windows 起源 3 综合解析3.1 Linux系统综合解析3.1.1 系统定义与核心架构3.1.2 发展历程3.1.3 核心特点3.1.4 主流发行版3.1.5 应用场景 3.2 macOS系统综合解析3.2.1 系统定义与核心架构3.2.2 发展历程3.2.3 核心特点…

【AI智能推荐系统】第七篇:跨领域推荐系统的技术突破与应用场景

第七篇:跨领域推荐系统的技术突破与应用场景 提示语:🔥 “打破数据孤岛,实现1+1>2的推荐效果!深度解析美团、亚马逊如何用跨领域推荐技术实现业务协同,知识迁移核心技术全公开!” 目录 跨领域推荐的商业价值跨领域推荐技术体系 2.1 基于共享表征的学习2.2 迁移学习…

R 语言科研绘图 --- 桑基图-汇总

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…

LintCode第485题-生成给定大小的数组,第220题-冰雹猜想,第235题-分解质因数

第485题 描述 给你一个大小size,生成一个元素从1 到 size的数组 样例 1:输入: size 4输出: [1, 2, 3, 4]样例解释: 返回一个顺序填充1到4的数组。样例 2:输入: size 1输出: [1]样例解释: 返回一个顺序填充1到1的数组 代码如下: public class Solution { /** * param s…

Pandas:数据处理与分析

目录 一、Pandas 简介 二、Pandas 的安装与导入 三、Pandas 的核心数据结构 &#xff08;一&#xff09;Series &#xff08;二&#xff09;DataFrame 四、Pandas 数据读取与写入 &#xff08;一&#xff09;读取数据 &#xff08;二&#xff09;写入数据 五、数据清洗…

Linux云计算训练营笔记day05(Rocky Linux中的命令:管道操作 |、wc、find、vim)

管道操作 | 作用: 将前面命令的输出&#xff0c;传递给后面命令&#xff0c;作为后面命令的参数 head -3 /etc/passwd | tail -1 取第三行 head -8 /etc/passwd | tail -3 | cat -n 取6 7 8行 ifconfig | head -2 | tail -1 只查看IP地址 ifconfig | grep 192 过滤192的ip…

动态规划:最长递增子序列

给定一个数组&#xff0c;求最长递增子序列的长度,就是要求我们求出一个序列中最长的上升子序列的长度&#xff0c;最长上升子序列的定义就是从原序列中按照孙旭去除一些数字&#xff0c;这些数字是逐渐增大的。 *定义dp[i]表示以第i个元素结尾的最长上升子序列的长度。 *初始…

湖北理元理律师事务所:债务优化如何实现还款与生活的平衡?

债务压力往往让债务人陷入“还款还是生存”的两难选择。湖北理元理律师事务所通过案例实践发现&#xff0c;科学规划的核心在于平衡法律义务与基本生活保障&#xff0c;而非单纯追求债务缩减。本文结合实务经验&#xff0c;解析债务优化的可行路径。 刚性需求优先&#xff1a;…

重力场模型、球谐函数以及重力异常

地球重力场有两种表达方法&#xff1a; 1、拉普拉斯&#xff08;Laplace&#xff09;方法&#xff0c;将重力场展开为球谐级数。 2、斯托克斯&#xff08;Stokes&#xff09;方法&#xff0c;根据地球的总质量和旋转角速度计算。 本篇主要说第一种方法&#xff0c;该方法将地…

MySQL的视图

一、MySQL视图的介绍和作用 MySQL视图&#xff0c;加油兄弟们&#xff0c;孰能生巧&#xff0c;完整代码在最后&#xff01;&#xff01;&#xff01; 视图是一个虚拟的表&#xff0c;并不是真是存在的&#xff0c;视图其实并没有真实的数据&#xff0c;他只是根据一个sql语句…

Scala与Go的异同教程

当瑞士军刀遇到电锯&#xff1a;Scala vs Go的相爱相杀之旅 各位准备秃头的程序猿们&#xff08;放心&#xff0c;用Go和Scala不会加重你的发际线问题&#xff09;&#xff0c;今天我们来聊聊编程界的"冰与火之歌"——Scala和Go的异同。准备好瓜子饮料&#xff0c;我…

SaaS场快订平台项目说明【持续更新】

一、项目介绍 SaaS场快订平台是一个高效、便捷的体育场馆在线预订平台。本项目采用SaaS方式开发&#xff0c;用户不需要安装软件&#xff0c;直接通过互联网访问在线程序即可使用。本项目主要构建了一个体育馆预订系统&#xff0c;项目的功能主要包括&#xff1a;用户注册与登…