探索 Ames 数据集中的字典、分类变量和数据插补

房地产市场是一个复杂的生态系统,由位置、房产特征、市场趋势和经济指标等众多变量驱动。Ames 住房数据集是深入了解这种复杂性的数据集之一。该数据集源自爱荷华州 Ames,包含各种房产及其特征,从巷道通行类型到房产的整体状况。

在这篇文章中,您将使用数据科学技术仔细研究这个数据集。具体来说,您将重点关注如何识别分类变量和数值变量,因为了解这些变量对于任何数据驱动的决策过程都至关重要。

让我们开始吧。

探索 Ames 数据集中的字典、分类变量和数据插补
照片来源:Brigitte Tohm。保留部分权利。

概述

这篇博文分为三部分;它们是:

  • 数据字典的重要性
  • 识别分类变量和数值变量
  • 缺失数据插补

数据字典的重要性

分析 Ames 住房数据集的关键第一步是使用其数据字典。此版本不仅仅列出和定义特征;它还将它们分类为名义型序数型离散型连续型,从而指导我们的分析方法。

  • 名义变量是没有顺序的类别,如“Neighborhood”(社区)。它们有助于识别用于分组分析的细分。
  • 序数变量具有明确的顺序(例如“KitchenQual”)。它们允许进行基于排名和顺序的分析,但不意味着类别之间存在等间距。
  • 离散变量是可计数的数字,如“Bedroom”(卧室)。它们是汇总或比较数量的分析不可或缺的一部分。
  • 连续变量在连续尺度上进行测量,如“Lot Area”(地块面积)。它们支持广泛的依赖于精细细节的统计分析。

理解这些变量类型也有助于选择适当的可视化技术。名义变量和序数变量非常适合条形图,条形图可以有效地突出类别差异和排名。相反,离散变量和连续变量最适合通过直方图、散点图和折线图表示,这些图表可以说明数据中的分布、关系和趋势。

通过我的书《数据科学初学者指南启动您的项目。它提供了带有工作代码自学教程

识别分类变量和数值变量

在理解数据字典的基础上,让我们深入探讨如何使用 Python 的 pandas 库实际区分 Ames 数据集中的分类变量和数值变量。此步骤对于指导我们后续的数据处理和分析策略至关重要。

执行上述代码将产生以下输出,按数据类型对每个特征进行分类

此输出显示数据集包含 `object`(44 个变量)、`int64`(27 个变量)和 `float64`(14 个变量)数据类型。其中,`object` 通常表示名义变量,即没有固有顺序的分类数据。同时,`int64` 和 `float64` 表示数值数据,可以是离散型(`int64` 用于可计数的数字)或连续型(`float64` 用于连续尺度上的可测量数量)。

现在我们可以利用 pandas 的 `select_dtypes()` 方法来明确分离 Ames 数据集中的数值特征和分类特征。

`numerical_features` 捕获存储为 `int64` 和 `float64` 的变量,分别表示可计数和可测量的数量。相反,`categorical_features` 包含 `object` 类型的变量,通常表示没有定量值的名义或序数数据。

值得注意的是,尽管像“MSSubClass”这样的一些变量是数值编码的,但它们实际上是分类数据,这强调了参考我们的数据字典进行准确分类的重要性。同样,像“MoSold”(销售月份)和“YrSold”(销售年份)这样的特征本质上是数值型的,但它们通常可以被视为分类变量,特别是当不需要对它们进行数学运算时。我们可以使用 pandas 中的 `astype()` 方法将这些变量转换为分类特征。

执行此转换后,`object` 数据类型的列计数已增加到 47(之前为 44),而 `int64` 已降至 24(之前为 27)。

仔细评估数据字典、数据集的性质和领域专业知识有助于正确重新分类数据类型。

缺失数据插补

处理缺失数据是每个数据科学家面临的挑战。忽略缺失值或处理不当可能导致分析偏差和不正确的结论。插补技术的选择通常取决于数据的性质——分类或数值。此外,数据字典中的信息将非常有用(例如泳池质量的情况),其中缺失值(“NA”)具有含义,即特定属性缺少此特征。

针对缺失值的分类特征的数据插补

您可以识别分类数据类型并按它们受缺失数据影响最大的顺序进行排名。

数据字典表明,上述分类特征列表中的缺失值表示特定房产缺少该特征,但“Electrical”(电气系统)除外。有了这个认识,我们可以对电气系统的一个缺失数据点使用“众数”进行插补,并使用 `“None”`(带引号使其成为 Python 字符串)对所有其他缺失值进行插补。

这证实了分类特征现在没有缺失值

针对缺失值的数值特征的数据插补

我们可以应用上面演示的相同技术来识别数值数据类型并按它们受缺失数据影响最大的顺序进行排名。

上述内容表明,缺失的数值数据实例少于缺失的分类数据实例。然而,数据字典对于直接填充并不那么有用。数据科学中是否填充缺失数据很大程度上取决于分析的目标。通常,数据科学家可能会生成多次填充以解决填充过程中的不确定性。常见的多次填充方法包括(但不限于)均值、中位数和回归填充。作为基准,我们将在此说明如何使用均值填充,但可能会根据手头的任务参考其他技术。

输出如下:

有时,我们也可以选择不进行任何填充,以保留原始数据集的真实性,并在需要时删除没有完整准确数据的数据点。或者,您也可以尝试构建一个机器学习模型,根据同一行中的其他数据来**猜测**缺失值,这是回归填充的原理。作为上述基准填充的最后一步,让我们交叉检查是否存在任何缺失值。

您应该看到

恭喜!我们已成功使用基准操作填充了Ames数据集中的每个缺失值。重要的是要注意,存在许多其他用于填充缺失数据的技术。作为一名数据科学家,探索各种选项并确定给定上下文最合适的方法对于产生可靠和有意义的结果至关重要。

想开始学习数据科学新手指南吗?

立即参加我的免费电子邮件速成课程(附示例代码)。

点击注册,同时获得该课程的免费PDF电子书版本。

进一步阅读

资源

总结

在本教程中,我们通过数据科学技术的视角探索了 Ames 住房数据集。我们讨论了数据字典在理解数据集变量方面的重要性,并深入研究了有助于有效识别和处理这些变量的 Python 代码片段。

理解您正在使用的变量的性质对于任何数据驱动的决策过程都至关重要。正如我们所见,Ames 数据字典在这方面提供了宝贵的指导。结合 Python 强大的数据操作库,处理像 Ames 住房数据集这样复杂的任务变得更加容易。

具体来说,您学习了: 

  • 在评估数据类型和填充策略时数据字典的重要性。
  • 数值和分类特征的识别和重新分类方法。
  • 如何使用 pandas 库填充缺失的分类和数值特征。

您有任何问题吗?请在下面的评论中提出您的问题,我将尽力回答。

开始学习数据科学新手指南!

The Beginner's Guide to Data Science

学习在数据科学项目中取得成功的心态

...只需最少的数学和统计知识,通过Python中的简短示例来获取技能

在我的新电子书中探索如何实现
数据科学新手指南

它提供了包含所有可运行 Python 代码的**自学教程**,让您从新手成长为专家。它向您展示了如何*查找异常值、确认数据的正态性、查找相关特征、处理偏度、检验假设*等等……所有这些都为了支持您从数据集中创建叙述。

通过实践练习开启你的数据科学之旅


查看内容

暂无评论。

发表评论

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。