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

机器学习Housing数据集

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_openml

设置Seaborn的美观风格

sns.set(style=“whitegrid”)

Step 1: 下载 Housing 数据集,并读入计算机

def load_housing_data():
housing = fetch_openml(name=“house_prices”, as_frame=True)
housing_df = housing.data

# 打印实际列名和列数,方便调试
print("数据集的列数:", housing_df.shape[1])
print("数据集的列名:", housing_df.columns)# 检查列数是否为 14,如果是则重命名列,否则跳过重命名步骤
if housing_df.shape[1] == 14:housing_df.columns = ["CRIM", "ZN", "INDUS", "CHAS", "NOX", "RM", "AGE", "DIS", "RAD", "TAX","PTRATIO", "B", "LSTAT", "MEDV"]
else:print("数据列数不符,未进行重命名。请检查数据集。")return housing_df

读取数据

housing_df = load_housing_data()
print(“Housing 数据集的前 5 项数据:”)
print(housing_df.head())

Step 2: 定义特征

features = [
“CRIM”, “ZN”, “INDUS”, “CHAS”, “NOX”, “RM”, “AGE”, “DIS”, “RAD”, “TAX”,
“PTRATIO”, “B”, “LSTAT”, “MEDV”
]
print(f"\n定义的特征列为:{features}")

Step 3: 抽取五个特征:LSTAT、INDUS、NOX、RM、MEDV,绘制散点图矩阵

selected_features = [“LSTAT”, “INDUS”, “NOX”, “RM”, “MEDV”]
sns.pairplot(housing_df[selected_features], diag_kind=“kde”, markers=“o”)
plt.suptitle(“散点图矩阵(选取特征:LSTAT、INDUS、NOX、RM、MEDV)”, y=1.02)
plt.show()

Step 4: 选取其他五个特征绘制散点图矩阵

other_features = [“CRIM”, “AGE”, “DIS”, “RAD”, “TAX”]
sns.pairplot(housing_df[other_features], diag_kind=“kde”, markers=“o”)
plt.suptitle(“散点图矩阵(选取特征:CRIM、AGE、DIS、RAD、TAX)”, y=1.02)
plt.show()

Step 5: 计算相关系数矩阵,并绘制热力图

使用前面选定的五个特征加上自己选择的五个特征

all_selected_features = selected_features + other_features
correlation_matrix = housing_df[all_selected_features].corr()

绘制热力图

plt.figure(figsize=(10, 8))
sns.heatmap(correlation_matrix, annot=True, fmt=“.2f”, cmap=“coolwarm”, square=True, cbar_kws={‘shrink’: .8})
plt.title(“相关系数矩阵热力图”)
plt.show()

总结 Housing 数据集的变化情况

print(“\n总结:\n通过散点图矩阵和相关系数热力图,我们可以观察到不同特征之间的关系。例如:”)
print(“- 房间数量(RM)与房价中位数(MEDV)呈正相关关系,房间数量越多,房价越高。”)
print(“- 人均犯罪率(CRIM)与地位较低人口比例(LSTAT)呈正相关关系,可能表明犯罪率与经济状况存在关联。”)
print(“- NOX和DIS的负相关性较强,可能表示距离市中心越远的地区空气污染物浓度越低。”)
print(“- 其他特征的相关性也可以从热力图中进一步分析。”)

http://www.lryc.cn/news/481347.html

相关文章:

  • 随着最新的补丁更新,Windows 再次变得容易受到攻击
  • 【Python】爬虫通过验证码
  • dc-aichat(一款支持ChatGPT+智谱AI+讯飞星火+书生浦语大模型+Kimi.ai+MoonshotAI+豆包AI等大模型的AIGC源码)
  • 检索增强生成
  • 操作系统--进程
  • abap 可配置通用报表字段级日志监控
  • OpenCV视觉分析之目标跟踪(11)计算两个图像之间的最佳变换矩阵函数findTransformECC的使用
  • PGMP-串串0203 项目集管理绩效域战略一致性
  • HiveMetastore 的架构简析
  • 【WRF模拟】全过程总结:WPS预处理及WRF运行
  • linux基础理解和使用 iptables 防火墙
  • 【系统架构设计师】2024年下半年真题论文: 论软件维护及其应用(包括参考素材)
  • 【数学二】线性代数-矩阵-初等变换、初等矩阵
  • MinerU容器构建教程
  • BFS 解决拓扑排序
  • MySQL 程序设计课程复习大纲
  • C++ : STL容器(适配器)之stack、queue剖析
  • nuxt3安装pinia报错500[vite-node] [ERR_LOAD_URL]问题解决
  • 青少年编程能力等级测评CPA试卷(2)Python编程(一级)
  • wordpress判断page页与非page页
  • JavaScript 库-qs的使用
  • Leetcode 两数之和 Ⅱ - 输入有序数组
  • 多处理器一致协议(MSI)协议详细介绍
  • SSH实验5密钥登录Linuxroot用户(免密登录)
  • 2024 网鼎杯 - 青龙组 Web WP
  • ORACLE 闪回技术简介
  • 【笔记】LLC电路工作频点选择 2-2 开关管与滤波压力
  • 【CUDA】认识CUDA
  • Linux(CentOS)yum update -y 事故
  • AI绘画赚钱秘籍!掌握ai绘画赚钱技巧,开启副业新篇章,ai绘画赚钱实战指南!