ML 中的 Zillow 房价 (Zestimate) 预测

2025年8月13日 | 阅读 13 分钟

什么是机器学习

机器学习(ML)是一个致力于理解和构建“学习”系统的领域——也就是说。这些策略影响信息,以在某些任务集上实现性能。它们有助于发现主要的业务问题以及回答这些问题的数据。人工智能的一些实现利用数据和人工智能关联,以至于它复制了品牌人工智能的运作方式。在其跨业务问题的应用中,基于PC的信息也被称为具有远见卓识的评估。伪造信息是信息科学领域的一个重要组成部分。利用统计系统,算法被训练来创建分类或假设,并在信息挖掘项目中揭示关键信息片段。这些信息片段驱动应用程序和关联内部的动态,在理想情况下影响基本的改进评估。随着大量信息持续创建和生成,信息检查员的市场薪酬将增加。他们应该协助发现最真实的业务问题以及回答这些问题的信息。模拟智能算法始终是使用加速计划升级的框架创建的,例如 TensorFlow 和 PyTorch。

学习评估的作用是解释过去表现出色的框架、算法和津贴将从现在起继续表现出色。人工智能学科采用不同的方法来帮助计算机完成没有可爱评估的任务。在存在大量潜在响应的情况下,一种方法是将部分正确响应标记为重要。然后可以将其用于准备信息,供PC改进其用于选择正确响应的算法。例如,为了设置用于自动化字符确认任务的框架,MNIST 解码数字数据集一直被使用。

模型优化算法

如果模型能够更好地拟合准备集中的相关信息,则会调整权重以减少已知模型和模型检查之间的误差。计算将重复此“调查和改进”过程,自主更新负载,直到达到精度阈值。

机器学习算法

通常使用各种机器学习算法。这些可能包括:

  • 神经网络: 机器学习网络再现了人类大脑的运作方式,具有许多关联的处理中心。人工智能网络善于识别模型,并在自然语言翻译、图像确认、语音认证和图像创建等应用中发挥巨大作用。
  • 线性回归: 该算法根据不同属性之间的 ML 关系预测数值。例如,该系统可用于通过考虑该地区的真实信息来预测房价。
  • 逻辑回归: 这种指导学习算法为人工智能输出响应变量做出假设,例如对问题的“是/否”答案。例如,它可能非常适用于描述垃圾邮件和生产线上的质量控制等应用。
  • 聚类: 利用机器学习来掌握聚类算法可以分离数据中的模式,以便对其进行累积。计算机可以帮助数据分析师识别人们忽略的数据之间的差异。
  • 决策树: 决策树可以预测数值属性(回归)并将信息分类。决策树利用一系列相关的决策进行扩展,可以用树形图表示。决策树的优点之一是它们非常容易支持和审查,而不是人工智能关联的黑箱。
  • 随机森林: 在随机森林区域中,机器学习算法通过合并来自不同决策树的结果来预测价值或分类。

在本教程中,我们将尝试执行一个房价指数微型计算机,它彻底改变了美国整个土地行业。这将是一个回归任务,在该任务中,我们已经通过使用基准模型给出了算法差异,即这些房屋的实际成本和预期成本之间的差异。

导入库和数据集

Python 库简化了信息处理,并通过一行代码执行常见和复杂的任务。

Pandas

Pandas 是一个开源库,主要用于轻松直观地处理社交或标记信息。它提供了各种信息格式和操作,用于操纵数值信息和时间序列。该库建立在 NumPy 库之上。Pandas 速度快,对用户具有卓越的性能和生产力。

优点

  • 快速高效地操纵和分析数据。
  • 可以加载来自不同记录文章的数据。
  • 简单处理浮点和非浮点数据中缺失的数据(作为 NaN 处理)
  • 大小可变性:可以将部分嵌入和删除到信息边缘和更高维度的对象中
  • 教育集合的巩固和合并。
  • 教育集合的灵活重塑和旋转
  • 提供时间序列价值。
  • 通过价值进行可靠的分组,以便对启发式集合执行分拆-应用-合并策略。

NumPy

NumPy 是一个通用的显示处理包,它提供了一流的多维对象和工具,用于处理这些显示。它是用 Python 进行一致计算的主要包。

除了其明确的智能用途外,NumPy 还可以用作通用数据的有效复杂容器。

NumPy 中的包是元素表(通常是数字),其总和类型相同,由正数元组记录。在 NumPy 中,包的几个元素被称为数组的位置。给出显示沿每个方面的显示大小的数字元组被称为显示的条件。NumPy 中的包类称为 ndarray。NumPy 显示中的元素通过方括号获取,并且可以使用嵌套的 Python 记录进行呈现。

Matplotlib

Matplotlib 是一个很棒的 Python 可视化库,用于二维数组的绘图。Matplotlib 是一个多平台数据可视化库,基于 NumPy 数组,旨在与更大的 SciPy 堆栈一起使用。它由 John Hunter 于 2002 年推出。可视化的最大好处之一是它允许我们以易于消化的视觉方式视觉访问大量数据。Matplotlib 包括一些绘图,如线形图、条形图、散点图、直方图等。

XGBoost

XGBoost 是最著名的支持算法。它因在与其他人工智能算法进行分类和回归任务时获得进一步改进的解决方案而闻名。XGBoost 或 Gradient Boosting 是一个开源库。其独特的代码库是 C++;然而,该库与 Python 接口组合在一起。它帮助我们实现倾向增强决策树的稍微更好的显示性能,可以类似于算法,并且易于操作。

Zillow 价值预测是如何确定的

要掌握 Zillow 房屋估价数据,您首先需要了解 Zillow 房屋估价摘要,它仍未确定。Zillow 房屋估价摘要是某一区域稳定居住地的核心价值。例如,查看您所在区域的 Zillow 返回房屋估价指数。Zillow 房屋估价指数适用于绝大多数独特的地理区域,包括州、都市区域、地区、社区和邮政编码。

Zillow 房屋估价指数可用于比较一个区域与另一个区域房屋的整体平均价值。例如,您应该了解您的本地房屋与您所在城市其他区域的比较情况。因此,Zillow 房屋估价指数可用于长期跟踪一个区域房屋的核心价值。您可以研究过去一个月、一个季度或一年内您所在区域房屋估价的变化率。

什么是 Zillow 房屋估价预测

Zillow 房屋估价预测是 Zillow 对 Zillow 房屋估价指数一年后情况的估计,它将 Zillow 房屋估价指数预测到未来一年。Zillow 房屋估价预测只是一个假设,因为我们仍在计算一年后会发生什么。

你能给我一个模型吗

我们应该认识西雅图。2017 年 2 月西雅图单户联排别墅和中心房屋的 Zillow 房屋估价报告为 624,700 美元,2018 年 2 月 Zillow 房屋估价检查为 648,000 美元,增长 3.8%。同样,Zillow 猜测西雅图的核心房屋估价将在未来一年内增长 3.8%。

我的地区可以使用 Zillow 房屋估价预测吗

Zillow 房屋估价预测适用于 Zillow 房屋估价文件可用的多数区域。与 Zillow 房屋估价文件一样,预测是针对地理细分进行的,包括基于核心的真实区域 (CBSA)、州、大都市网络、社区和邮政编码。

您是如何进行 Zillow 房屋估价预测的

Zillow 房屋估价预测使用利用不同财务信息的可量化模型。该模型考虑了可能影响未来房屋估价的现金相关和居住信息。例如,较低的合同利率会降低房屋费用,从而提高溢价。这将最终增加房屋估价,因为更多的购买者看到相似的住房供应。

您究竟使用哪些数据来制定 Zillow 房屋估价预测

我们使用各种住房指标和广泛金融市场的信息。住房指标包括房屋开发成本、附近税率、开发成本、空置房屋数量、次贷、拖欠属性水平以及可用房屋供应。总体货币指标回顾了家庭收入、个人增长和失业率的调整。

您如何将所有信息结合起来进行预测

这就是不可否认的模型发挥作用的地方。我们利用历史数据来“训练”模型以确定未来会发生什么。实际模型必须加以澄清,包括计量经济学和时间序列框架方法。推理的细节可以在这份评估简报中找到。

预测的准确性如何

金融预测试图预测未来。这可能很困难,特别是当意外事件影响经济和住房商业重心时。然而,在可靠性方面,这些度量提供了对将发生什么的合理估计。例如,雷丁市加州的房屋估价预测是从 2012 年 11 月到 2013 年 11 月增长 10.7%。在过去的几年中,雷丁市加州的核心预测误差,涵盖了住房的成功和失败,是 3.4%。从 2014-2015 年,当价值更加稳定时,核心预测误差仅为 2.8%。除了意外事件,我们可以合理地预期雷丁市加州的价值将增长 7.7% 到 13.7% 之间。有关预测准确性的更多见解,请参阅此处。

Zillow 房屋估价预测何时更新

Zillow 房屋估价预测在每月中期发布,同时我们更新 Zillow 房屋估价指数。

示例

我们应该将数据集加载到 pandas 数据框中并打印其前五行。

示例

现在让我们看看数据集的大小。

示例

输出

(91409, 60)

数据集包含许多特征;但是,我们也可以看到无效值。因此,在执行任何分析之前,我们应该先清理数据。

什么是数据清理

来自主要来源的信息被称为原始数据,在我们可以从中得出任何结论或证明它之前,需要进行大量的预处理。这些预处理步骤被称为数据清理,它包括异常值移除、无效值归因以及消除数据输入中的任何类型的不一致。

示例

输出

45

因此,总共有 30 个段包含唯一值等于 1 或大约 60% 的行是无效值。

示例

我们应该检查哪个数据集段包含哪种类型的信息。

示例

从上面的代码行中,我们将获得数据集的总体描述,包括列名、计数和数据类型。

在这里我们可以看到,数据集的各个部分仍然存在无效值。因此,我们应该检查数据框中的无效值,并通过使用连续变量的平均值和明确分类段的众数来归因它们。

我们使用 matplotlib 模块绘制数据集数据的图表

输出

Zillow Home Value (Zestimate) Prediction in ML

输出

10

探索性数据分析

EDA 是一种利用视觉技术分析数据的方法。它用于发现趋势和模式,或通过统计图表和图形表示来检查假设。

输出

(4, 40, 2)

唯一值的数量太高,无法以其他方式可视化。我们可能已经为这些非分类段绘制了计数图。

示例

输出

Zillow Home Value (Zestimate) Prediction in ML

从上述目标变量的分布图中,似乎数据中存在异常值。我们应该使用箱线图来识别它们。

输出

Zillow Home Value (Zestimate) Prediction in ML

从上面的箱线图,我们可以将目标值截断在 -1 到 1 之间,以进行可行的(仅在设计上)模型训练。

示例

输出

The Shape of the data frame before the evacuation of exceptions (91300, 45)
The Shape of the data frame after the evacuation of exceptions (90896, 45)

这意味着我们需要非常集中。

现在让我们检查我们的数据集中是否存在任何高度相关的特征?

示例

输出

Zillow Home Value (Zestimate) Prediction in ML

热图用于查找高度相关的特征。

毫无疑问,特征空间中存在一些高度相关的特征。我们将删除它们以降低数据的复杂性并避免任何错误情况。

如何训练模型

我们将特征和目标变量划分为训练和测试数据。我们将选择在验证数据上表现最佳的模型。

输出

(88024, 21), (9024, 21))

在将数据输入到 AI 模型之前对其进行标准化,有助于我们实现稳定和快速的训练。

我们已将数据划分为训练和验证数据;此外,数据的标准化也已完成。让我们训练最先进的 AI 模型,并利用验证数据集从中选择最好的模型。

示例

输出

Linear Regression() :
Preparing Blunder: 6.615973946859e-17
Approval Blunder: 6.708349655426e-17
XGB Regressor() :
Preparing Blunder: 0.0010633639062428
Approval Blunder: 0.0010845248796474
Rope() :
Preparing Blunder: 0.06199753224405
Approval Blunder: 0.06211054490276
Random Forest Regressor():
Preparing Blunder: 5.433845241515e-06
Approval Blunder: 1.25409161664197e-05
Ridge() :
Preparing Blunder: 7.7050246902485e-07
Approval Blunder: 7.7294240666734e-07

您可能会对这种低好感度感到疑惑。其原因是实际目标价值。目标值在真实对数和预期房价值之间有所不同。考虑到这一点,所有属性都处于 -1 到 1 的范围内;因此,这导致了更低的误用值。


下一个主题理解多标签分类