【机器学习实战】对加州住房价格数据集进行数据探索(读书笔记)

news/2024/7/5 5:42:47

1. 数据集描述及获取

  1. 数据集下载地址:housing.csv
  2. 数据集的结构:
    在这里插入图片描述
    其中数据集有10个属性,分别为经度、纬度、housing_median_age、房间总数、卧室总数、人口数、家庭数、收入中位数、房价中位数、ocean_proximity。

2. 对数据集进行探索

2.1 获取数据集的简单描述

在这里插入图片描述一共有20640个实例,其中total_bedrooms的缺失值有20640-20433=207个,除了ocean_proximity以外,其他属性都是数值型。

2.2 查看ocean_proximity有多少种分类存在

在这里插入图片描述

2.3 显示数值属性的摘要

在这里插入图片描述

2.4 绘制所有数值属性的直方图

# 绘制所有数值属性的直方图
%matplotlib inline
import matplotlib.pyplot as plt
housing.hist(bins=50, figsize=(20, 15))
plt.show()

在这里插入图片描述

3. 划分数据集(分层抽样)

# 分层抽样
import numpy as np
housing["income_cat"] = np.ceil(housing["median_income"] / 1.5)
housing["income_cat"].where(housing["income_cat"] < 5, 5.0, inplace=True)

from sklearn.model_selection import StratifiedShuffleSplit
split = StratifiedShuffleSplit(n_splits=1, test_size=0.2, random_state=42)
for train_index, test_index in split.split(housing, housing["income_cat"]):
    start_train_set = housing.loc[train_index]
    start_test_set = housing.loc[test_index]
housing["income_cat"].value_counts() / len(housing)

整个数据集的分布:
在这里插入图片描述
分层采样完测试集的分布:
在这里插入图片描述

4. 创建训练集的副本,继续进行数据探索

在这里插入图片描述

4.1 数据的地理分布图

在这里插入图片描述
在这里插入图片描述

4.2 房屋价格、人口分布

housing.plot(kind="scatter", x="longitude", y="latitude", alpha=0.4,
            s=housing["population"]/100, label="population",
            c="median_house_value", cmap=plt.get_cmap("jet"), colorbar=True)
plt.legend()

在这里插入图片描述

4.3 属性相关性探索

4.3.1 所有属性的

在这里插入图片描述

4.3.2 每个属性和median_house_value的相关性(降序)

在这里插入图片描述

# 绘制每个数值属性相对于其他数值属性的相关性(取相关性前4个)

from pandas.plotting import scatter_matrix
attributes = ["median_house_value", "median_income", "total_rooms", "housing_median_age"]
scatter_matrix(housing[attributes], figsize=(12, 8))

在这里插入图片描述

  • 最有潜力预测房价中位数的属性是:median_income
    在这里插入图片描述

5. 特征构建

# 特征构建(通过total_rooms、total_bedrooms、households三个组件进行构建)
# 每个家庭的房间数
housing["rooms_per_household"] = housing["total_rooms"] / housing["households"]
# 每个家庭的卧室数量
housing["bedrooms_per_household"] = housing["total_bedrooms"] / housing["households"]
# 卧室数和房间数的比例
housing["bedrooms_per_room"] = housing["total_bedrooms"] / housing["total_rooms"]
# 关联矩阵
corr_matrix = housing.corr()
corr_matrix["median_house_value"].sort_values(ascending = False)

在这里插入图片描述

P.S.这是我看《机器学习实战:基于Scikit-Learn和TensorFlow》的读书笔记,代码都是跟着书上一步步自己敲得,如果需要代码,可以私信我。


http://lihuaxi.xjx100.cn/news/326923.html

相关文章

优品汇系统开发机制介绍

优品汇系统通过通过消费增值模式&#xff0c;促进商品流通&#xff0c;打造中g最大的供应链。作为对政策的回应&#xff0c;绿点刺激实体经济。前期通过科学合理的业务体系&#xff0c;将大部分利润分配给客户和朋友&#xff0c;从而快速创造人气和粉丝数据。中期将逐步完善产品…

解决 Android 分享到小程序 封面显示不全

参考&#xff1a;解决Android 微信分享小程序图片显示不全_Keung丶的博客-CSDN博客_小程序分享图片显示不全 上面分享的封面还是不满足需求&#xff0c;我们需求是填充满高度或者宽度&#xff0c;在原基础上做修改&#xff1a; 修改后&#xff1a; /*** Bitmap 分享到小程…

Matplotlib入门[04]——处理图像

Matplotlib入门[04]——处理图像 参考&#xff1a; https://ailearning.apachecn.org/Matplotlib官网 图片来源&#xff1a;百度&#xff08;如有侵权&#xff0c;立删&#xff09; 使用Jupyter进行练习 import matplotlib.pyplot as plt import matplotlib.image as mpimg imp…

一起Talk Android吧(第四百三十二回:Java8中的时间类)

文章目录获取时间修改时间时间比较示例程序各位看官们大家好&#xff0c;上一回中咱们说的例子是"Java8中的日期类",这一回中咱们说的例子是"J ava8中的时间类"。闲话休提&#xff0c;言归正转&#xff0c;让我们一起Talk Android吧&#xff01;在Java8中使…

Redis6入门到实战------思维导图+章节目录

Redis学习大纲 思维导图 思维导图 Redis6入门到实战------1、NoSQL数据库简介 地址&#xff1a; Redis6入门到实战------2、Redis6概述和安装 地址&#xff1a; Redis6入门到实战------3、常用五大数据类型 地址&#xff1a; Redis6入门到实战------4、Redis6配置文件详解…

Bug系列路径规划算法原理介绍(四)——I-BUG 算法

本系列文章主要对Bug类路径规划算法的原理进行介绍&#xff0c;在本系列的第一篇文章中按照时间顺序梳理了自1986年至2018年Bug类路径规划算法的发展&#xff0c;整理了13种BUG系列中的典型算法&#xff0c;从本系列的第二篇文章开始依次详细介绍了其中具有代表性的BUG1、BUG2、…

C++特色家政服务管理系统

C特色家政服务管理系统 6.30 特色家政服务管理系统 [问题详述] 家政公司针对新建住宅区推出“安心入住”清扫特色家政服务,为房主清扫新装修的住房,让房主能安心地搬人一个干净的新居。住房清扫按房屋的面积计费,收费标准是:清扫一次收费起点 300 元,对应的房屋面积不超过 80…

[附源码]Python计算机毕业设计Django线上评分分享平台

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…