机器学习案例:加州房产价格(四)

参考链接:https://hands1ml.apachecn.org/2/#_12

数据探索和可视化、发现规律

通过之前的工作,你只是快速查看了数据,对要处理的数据有了整体了解,现在的目标是更深的探索数据。

首先,保证你将测试集放在了一旁,只是研究训练集。
另外,如果训练集非常大,你可能需要再采样一个探索集,保证操作方便快速。
在这个案例中,因为数据集很小,所以可以在全集上直接工作。创建一个副本,以免损伤训练集

housing = strat_train_set.copy()

地理数据可视化

因为存在地理信息(纬度和经度),创建一个所有街区的散点图来数据可视化是一个不错的主意

housing.plot(kind="scatter", x="longitude", y="latitude")

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

这张图看起来很像加州,但是看不出什么特别的规律。
可以将alpha设为 0.1,可以更容易看出数据点的密度 ,参数alpha设置了散点的透明度,通常用于显示密集程度。

housing.plot(kind="scatter", x="longitude", y="latitude", alpha=0.1)

在这里插入图片描述
现在看起来好多了:可以非常清楚地看到高密度区域,湾区、洛杉矶和圣迭戈,以及中央谷,特别是从萨克拉门托和弗雷斯诺。

通常来讲,人类的大脑非常善于发现图片中的规律,但是需要调整可视化参数使规律显现出来。

现在将注意力转到房价上。
每个圈的半径表示街区的人口(选项s),颜色代表价格(选项c)。我们用预先定义的名为jet的颜色图(选项cmap),它的范围是从蓝色(低价)到红色(高价):

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()

在这里插入图片描述
这张图说明房价和位置(比如,靠海)和人口密度联系密切,这点你可能早就知道。可以使用聚类算法来检测主要的聚集,用一个新的特征值测量聚集中心的距离。尽管北加州海岸区域的房价不是非常高,但离大海距离属性也可能很有用,所以这不是用一个简单的规则就可以定义的问题。

查找关联

因为数据集并不是非常大,你可以很容易地使用corr()方法计算出每对属性间的标准相关系数
(standard correlation coefficient,也称作皮尔逊相关系数)
在这里插入图片描述

corr_matrix = housing.corr()

在这里插入图片描述
相关系数的范围是 -1 到 1。当接近 1 时,意味强正相关;例如,当收入中位数增加时,房价中位数也会增加。当相关系数接近 -1 时,意味强负相关;你可以看到,纬度和房价中位数有轻微的负相关性(即,越往北,房价越可能降低)。最后,相关系数接近 0,意味没有线性相关性。

另一种检测属性间相关系数的方法是使用 Pandas 的scatter_matrix函数,它能画出每个数值属性对每个其它数值属性的图。因为现在共有 11 个数值属性,你可以得到11 ** 2 = 121张图,在一页上画不下,所以只关注几个和房价中位数最有可能相关的属性

from pandas.plotting import scatter_matrix

attributes = ["median_house_value", "median_income", "total_rooms",
              "housing_median_age"]
scatter_matrix(housing[attributes], figsize=(12, 8))

在这里插入图片描述
最有希望用来预测房价中位数的属性是收入中位数,因此将这张图放大

housing.plot(kind="scatter", x="median_income",y="median_house_value",
             alpha=0.1)

在这里插入图片描述
这张图说明了几点。首先,相关性非常高;可以清晰地看到向上的趋势,并且数据点不是非常分散。第二,我们之前看到的最高价,清晰地呈现为一条位于 500000 美元的水平线。这张图也呈现了一些不是那么明显的直线:一条位于 450000 美元的直线,一条位于 350000 美元的直线,一条在 280000 美元的线,和一些更靠下的线。你可能希望去除对应的街区,以防止算法重复这些巧合。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库开发记录

一.MySQL相关 1.Spatial Data相关

AntDesign React 简单封装一个带错误提示的输入框

背景 没想到官方没有提供纯粹的带错误提示的输入框,官方提供了启用错误样式 status 属性。但是展示错误信息提示却需要捆绑Form 和 Form.Item。说实话有点不友好,我就一个简单的输入框,想要用户输入时用正则校验,错误时提示一些错…

电子硬件设计-LTC3839学习笔记

目录 1. 简介 2. 用法详解 2.1 工作原理 2.2 关键引脚分析 2.2.1 Pin6 - ITH 2.2.2 Pin 14/27 - BOOST1/2 3. 总结 1. 简介 具差分输出检测功能的快速、准确、两相、单路输出降压型 DC/DC 控制器。 特点: 输入:4.5V 至 38V,输出&am…

算法学习笔记(4)-基础排序算法

##O(n^2)算法时间复杂度的排序算法 目录 ##O(n^2)算法时间复杂度的排序算法 ##选择排序 ##原理 ##图例 ##代码实现示例 ##冒泡排序 ##原理 ##图例 ##代码实现示例 ##插入排序 ##原理 ##图例 ##代码实现示例 ##总结 ##选择排序 ##原理 在一个无序的数组或者列表…

使用Xshell工具连接ubuntu-方便快捷

使用Xshell连接ubuntu 在命令行输入 “sudo apt-get install openssh-server”安装openssh-server 开启 ssh-server,在命令行输入 “service ssh start”,然后输入密码即可

浅谈SiC MOSFET之双脉冲原理

1.双脉冲实验实验的必要性 在平常的使用中,我们基本通过芯片手册来了解功率器件的各种性能参数,但是手册中的参数的测量环境都是在理想状态下,与实际使用或多或少都会有差别。通过双脉冲实验可以获取器件在真实工况下的参数,对于产…

如何在创建之前检测 Elasticsearch 将使用哪个索引模板

作者:来自 Elastic Musab Dogan 概述 Elasticsearch 提供两种类型的索引模板:旧(legacy)索引模板和可组合 (composable) 索引模板。 Elasticsearch 7.8 中引入的可组合模板旨在替换旧模板,两者仍然可以在 Elasticsear…

ArcGIS软件损坏怎么修复?10.7分享

前言 我们经常ArcGIS用着用着就会出现一些莫名奇怪的情况,比如ArcGIS的工具箱都打,字体丢失等、dll文件缺失。尝试了很多方法之后没有效果的,我们可以对软件做修复 那么修复改如果做呢? 不需要卸载软件,直接安装deskt…

记录一下 log4j的漏洞

目录 背景 bug的产生 bug复现 JNDI 网络安全学习路线 (2024最新整理) 学习资料的推荐 1.视频教程 2.SRC技术文档&PDF书籍 3.大厂面试题 特别声明: 背景 log4j这次的bug,我相信大家都已经知道了,仅以…

【异常】SpringBoot整合RabbitMQ-发送消息报错

错误信息 reply-code406, reply-textPRECONDITION_FAILED - inequivalent arg ‘x-message-ttl’ for queue ‘hello-queue’ in vhost ‘/lq’: received none but current is the value ‘10000’ of type ‘signedint’, class-id50, method-id10 错误原因 hello-queue这…

【每日刷题】Day39

【每日刷题】Day39 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 622. 设计循环队列 - 力扣(LeetCode) 2. 387. 字符串中的第一个唯一字符 - …

一觉醒来 AI科技圈发生的大小事儿 05月13日

📳博弈论让 AI 更加正确、高效,LLM 与自己竞争 研究团队设计了共识博弈,通过让语言模型的生成器和判别器相互博弈来提高模型的准确性和内部一致性。这种方法不需要对基础模型进行训练或修改,可以在笔记本电脑上快速执行。研究结果…

《云原生安全攻防》-- 构建云原生攻防场景

在本节课程中,我们将学习云原生攻防场景的构建。为了研究云原生安全攻击案例,我们需要搭建一个云原生攻击测试环境,以便进行攻防研究和攻击手法的复现。 在这个课程中,我们将学习以下内容: 构建云原生攻防场景&#xf…

绝地求生:艾伦格回归活动来了,持续近1个月,新版本皮肤、G币等奖励白嫖

嗨,我是闲游盒~ 29.2版本更新在即,新活动来啦!目前这个活动国内官方还没发,我就去台湾官方搬来了中文版方便大家观看,也分析一下这些奖励应该怎样才能获得。 新版本将在周二进行约9小时的停机维护,请注意安…

基于WTVxxx语音芯片方案在智能小家电领域的应用介绍

一、产品市场: WTVxxx系列语音芯片凭借其出色的性价比,在小家电制造业中脱颖而出,它在确保优异音质及全面功能的基础上,大幅度削减了生产成本,为产品在激烈的市场竞争中赢得了价格优势,并为制造商拓宽了盈利…

快速清理系统盘空间

占用系统盘资源比较大,有两种log与cache。 使用如下命令查看 du -h /var/cache --max-depth1 | sort -hr | head -n 10结果如下:

【Java应用】Java提取B站视频教程详情(完整代码|下载可直接运行|自带页面|可直接复制)

提取B站视频教程详情 背景 B站这个视频列表是真的体验感太差了,有时候想把章节复制下来,再对应的章节下面做笔记,实在是太难搞了,于是就有了这篇文文章 效果图 根据关键字获取视频id public Result videoList(RequestBody VideoDto videoDto) {String keyword videoDto.get…

pcdn边缘云常见sla有哪些?如何避免被白嫖

PCDN(Point-to-Point Content Delivery Network)边缘云常见的SLA(Service Level Agreement)规则包括高峰期离线、服务时间、重传延时、限速等。这些规则是为了保证服务质量和用户体验。下面将详细解释这些规则,并提供一…

微服务熔断降级

什么是熔断降级 微服务中难免存在服务之间的远程调用,比如:内容管理服务远程调用媒资服务的上传文件接口,当微服务运行不正常会导致无法正常调用微服务,此时会出现异常,如果这种异常不去处理可能导致雪崩效应。 微服…