端到端的机器学习项目之探索数据(Machine Learning 研习之七)

news2025/1/8 5:42:37

本篇其实是承接上一篇内容,之所以没在上一篇将它写完,那是有原因的,毕竟,本着学习的态度,篇幅不应过长,方能使你有学习的欲望!

探索数据

首先,确保你已经把测试放在一边,你只是在探索训练集。此外,如果训练集非常大,您可能希望对探索进行采样设置,使操作在勘探阶段变得容易和快速。在这种情况下,培训集非常小,所以您可以直接处理完整集。由于你要试验完整训练集的各种变换,你应该制作一份原始的所以你可以在之后恢复它:

housing = strat_train_set.copy()

可视化地理数据

因为数据集包括地理信息(纬度和经度),所以创建一个所有地区的散点图来可视化数据是一个好主意(见下图):

housing.plot(kind="scatter", x="longitude", y="latitude", grid=True)
plt.show()

在这里插入图片描述

这看起来很像加州,但除此之外,很难看到任何特别的模式。将alpha选项设置为0.2可以更容易地显示数据点密度高的位置(见下图):

housing.plot(kind="scatter", x="longitude", y="latitude", grid=True, alpha=0.2)
plt.show()

现在的情况要好得多:你可以清楚地看到高密度地区,即海湾地区、洛杉矶和圣地亚哥周围,再加上中央山谷(特别是萨克拉门托和弗雷斯诺)的一长排高密度地区。

我们的大脑非常善于发现图片中的模式,但你可能需要玩弄可视化参数,使模式脱颖而出。

在这里插入图片描述

接下来,你再看看房价(见下图)。每个圆圈的半径代表该地区的人口(选项s),颜色代表价格(选项c)。这里使用了一个名为jet的预定义颜色映射(选项cmap),其范围从蓝色(低值)到红色(高价)😒

housing.plot(kind="scatter", x="longitude", y="latitude", grid=True,
s=housing["population"] / 100, label="population",
c="median_house_value", cmap="jet", colorbar=True,
legend=True, sharex=False, figsize=(10, 7))
plt.show()

这张图告诉你,房价与地理位置(例如,靠近大海)和人口密度密切相关,你可能已经知道了。聚类算法对于检测主集群和添加测量与集群中心的邻近性的新特性应该是有用的。海洋邻近属性也可能是有用的,尽管在北加州沿海地区的房价不是太高,所以这不是一个简单的规则。

在这里插入图片描述

寻找相关性

由于数据集不是太大,你可以很容易地使用corr()方法计算每对属性之间的标准相关系数(也称为皮尔逊相关系数):

corr_matrix = housing.corr()

现在您可以查看每个属性与房屋中值的相关性:

在这里插入图片描述

相关系数从-1到1。当它接近1时,意味着有很强的正相关关系,例如,当收入中位数上升时,房屋价值中位数往往会上升。当系数接近-1时,意味着有很强的负相关性;你可以看到纬度和房屋价值中间值之间有一个很小的负相关性(即往北走,房价有轻微的下降趋势)。最后,系数接近0意味着不存在线性相关关系。

检查属性之间相关性的另一种方法是使用Pandas scatter_matrix ()函数,该函数将每个数值属性与其他每个数值属性进行绘图。由于现在有11个数字属性,您将得到112=121幅不适合页面的地块,所以您决定将重点放在一些看起来与住房中值最相关的有前途的属性上(见下图):

在这里插入图片描述

如果Pandas将每个变量相对于自身绘制,那么主对角线将充满直线,这将不是很有用。因此,Pandas显示每个属性的直方图(其他选项可用;请参阅Pandas文档以获取更多详细信息)。

查看相关散点图,似乎最有希望预测房屋价值中位数的属性是收入中位数,所以你放大他们的散点图(见下图):

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

在这里插入图片描述

这个情节揭示了一些事情。首先,相关性确实很强;你可以清楚地看到上升的趋势,而且点也不太分散。第二,你之前注意到的价格上限在500,000美元的水平线上明显可见。但这个情节也揭示了其他不那么明显的直线:一条水平线在45万美元左右,另一条大约35万美元左右,也许还有一条大约28万美元,还有几条低于这一点。您可能希望尝试删除相应的区域,以防止您的算法学习重现这些数据怪癖。

警告:

相关系数只测量线性相关性(“当x上升时,y通常上升/下降”)。它可能会完全忽略非线性关系(例如,“当x接近0时,y通常会上升”)。图2-16显示了各种数据集及其相关系数。请注意,尽管它们的轴线显然不是独立的,但底部行的所有图都具有等于0的相关系数:这些都是非线性关系的例子。另外,第二行显示了相关系数等于1或-1的示例;注意,这与斜率无关。例如,以英寸为单位的身高与以英尺或纳米为单位的身高的相关系数为1。

在这里插入图片描述

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

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

相关文章

wsl2环境的搭建

安装WSL WSL Windows官方页面:安装 WSL | Microsoft Learn 系统要求版本:我的电脑->属性可以查看系统版本,采用内部版本 18362 或更高版本以管理员权限运行 powershell启用Windows10子系统功能,再打开的powershell窗口中输入如…

【Linux系统编程:信号】产生信号 | 阻塞信号 | 处理信号 | 可重入函数

写在前面 通过学习信号可以理解进程与进程的一个相对关系,还能理解操作系统与进程的关系。要注意的是进程间通信中的信号量与这里的信号没有半毛钱关系,就像老婆和老婆饼。 本文要点: 掌握 Linux 信号的基本概念掌握信号产生的一般方式理解…

Mysql,SqlServer,Oracle获取库名 表名 列名

先看下需求背景: 获取某个数据源连接下所有库名,库下所有表名,表中所有字段 1.MySql 先说MySql吧,最简单 1.1获得所有数据库库名 这是一个mysql和sqlserver公用的方法,这里url不用担心数据库问题,他其实…

记一次渗透测试事件

一、漏洞发现 拿到登录的接口,丢到sqlmap里面跑一把,发现延时注入 进一步查询,发现是sa权限,直接os-shell whomai查询发现是管理员权限 os-shell执行命令太慢了,直接进行nc 反弹 执行base64 加密后的powershell命令&…

DevEco Studio如何在真机设备上运行HarmonyOS应用之必备的签名文件怎么做

DevEco Studio如何在真机设备上运行HarmonyOS应用 准备签名文件 使用DevEco Studio生成密钥和证书请求文件(生成密钥和证书) 在DevEco Studio的主菜单栏点击Build > Generate Key 如果没有密钥库文件,点击New进行创建,弹出…

如何使用 PostgreSQL 进行数据迁移和整合?

​ PostgreSQL 是一个强大的开源关系型数据库管理系统,它提供了丰富的功能和灵活性,使其成为许多企业和开发者的首选数据库之一。在开发过程中,经常会遇到需要将数据从一个数据库迁移到另一个数据库,或者整合多个数据源的情况。…

做机器视觉工程师,苏州德创能不能去工作?

每一家公司都有自身特点,同时也每一家都有自身的bug。 苏州德创作为美国康耐视Cognex产品在华东最大的代理商,也是康耐视外包团队。那么苏州德创有哪些业务构成,业务的构成也是其招聘的主要人员的方向。 设备视觉供应商,如卓越&…

免杀对抗-防溯源拉黑+防流量审计

防朔源拉黑-CDN节点 1.购买一个域名,开启开启cdn 2.全球ping一下域名,可以看到cdn生效 3.根据自己cs版本修改对应c2项目文件 下载:https://github.com/threatexpress/malleable-c2 打开文件搜索http-get,将如下图修改为设置cdn的域…

动手学深度学习—网络中的网络NiN(代码详解)

目录 1. NiN块2. NiN模型3. 训练模型 LeNet、AlexNet和VGG都有一个共同的设计模式: 通过一系列的卷积层与汇聚层来提取空间结构特征;然后通过全连接层对特征的表征进行处理。 如果在过程的早期使用全连接层,可能会完全放弃表征的空间结构。 …

Unsupervised Medical Image Translation with Adversarial Diffusion Models

基于对抗扩散模型的无监督医学图像翻译 论文链接:https://arxiv.org/abs/2207.08208 项目链接:https://github.com/icon-lab/SynDiff Abstract 通过源-目标模态转换对缺失图像进行补全可以提高医学成像方案的多样性。利用生成对抗网络(GAN)进行一次映…

string类型数据的基本操作

1.string类型的基本操作 2.string类型数据的扩展操作 2.1 增加和减少 2.2 控制数据的生命周期 3.string类型数据操作的注意事项

nginx中gzip推荐配置

#开启gzip压缩功能 gzip on; #设置允许压缩的页面最小字节数; 这里表示如果文件小于10个字节,就不用压缩,因为没有意义,本来就很小. gzip_min_length 10k; #设置压缩缓冲区大小,此处设置为4个16K内存作为压缩结果流缓存 gzip_buffers 4 16k;#压缩版本 gzip_http_version 1…

PDCA项目开发环境搭建说明

PDCA项目开发环境搭建说明 环境准备 JDK 15.0 ; IDEA Community Edition 2021.3 版本要对应,不然会报错 Jdk 安装步骤:https://blog.csdn.net/qq_34913677/article/details/108894727 IDea 安装说明:https://blog.csdn.net/dream…

使用项目管理系统优化公众号文章排期

微信公众号已经成为众多企业进行内容营销的关键平台,然而要在这片竞争激烈的领域中脱颖而出,赢得更多的流量和用户关注,仅仅依靠高质量的内容是远远不够的。使用Zoho Projects项目管理系统,帮助您实现文章发布的精细化管理是一个不…

“荷风常盛·非遗中国传承大会”在京召开,北京市珐琅厂隆重发布国事作品《荷风常盛·中国禧》

“荷风常盛非遗中国传承大会”于10月21日在北京雁栖湖圆满举办。大会由中国景泰蓝第一家北京市珐琅厂、北京设计学会主办。期间由北京市珐琅厂出品的景泰蓝《荷风常盛中国禧》首次亮相,惊艳与会的各界艺术文化领导、专家、学者,以及一带一路国家驻华使节…

C++常用标准算法

算法主要由头文件<algorithm>、<functional>、<numeric>组成。 <algorithm>是所有STL头文件中最大的一个&#xff0c;范围涉及到比较、交换、查找、遍历、赋值、修改等等&#xff1b;<numeric>体积很小&#xff0c;只包括几个在序列上面进行简单…

【@EnableWebMvc的原理】

用途 启用SpringMvc 的 Java 配置类&#xff0c;代替 xml 格式的配置文件。 一、查看运用&#xff08;注解 EnableWebMvc &#xff0c;实现 WebMvcConfigurer &#xff09; Component("com.ibicd") EnableWebMvc public class AppConfig implements WebMvcConfigu…

Ceres 使用笔记

文章目录 Part.I IntroductionChap.I 预备知识Chap.II 概念理解 Part.II 简单使用Chap.I Ceres 中主要函数简介Chap.II 一个简单的实例 Reference Part.I Introduction Ceres 1 是由 Google 开发的开源 C 通用非线性优化库&#xff0c;与 g2o 并列为目前视觉 SLAM 中应用最广泛…

GRE和MGRE笔记

目录 前言&#xff1a; 一、VPN 1、技术背景&#xff1a; 2、作用&#xff1a; 3、优势&#xff1a; 4、隧道技术 5、分类 二、GRE 1、GRE简介&#xff1a; 2、GRE VPN&#xff1a; 3、GRE报文结构 4、GRE VPN工作过程 5、GRE VPN 的优缺点&#xff1a; 6、多Tun…

Java访问修饰符private、default、protected、public的区别

Java有四种访问权限&#xff0c;其中三种有访问权限修饰符&#xff0c;分别为private&#xff0c;public和protected&#xff0c;还有一种不带任何修饰符&#xff1a; 1、private&#xff0c;私有的&#xff0c;被private修饰的类、方法、属性、只能被本类的对象所访问。我什么…