解释线性回归模型中的系数

线性回归模型是机器学习的基础。仅仅拟合一条直线并读取系数就能说明很多问题。但是,我们如何从这些模型中提取和解释系数,以了解它们对预测结果的影响呢?本文将通过探索各种场景来演示如何解释系数。我们将探讨对单个数值特征的分析,检查分类变量的作用,并揭示当这些特征组合时引入的复杂性。通过这次探索,我们旨在为您提供有效利用线性回归模型所需的技能,增强您在不同数据驱动领域中的分析能力。

解释线性回归模型中的系数
图片由 Zac Durant 拍摄。保留部分权利。

通过我的书《进阶数据科学启动您的项目。它提供了带有可运行代码的自学教程

让我们开始吧。

注意:本教程已更新,使用 scikit-learn 1.2+ 语法。如果您使用的是旧版本(<1.2),请在 OneHotEncoder 示例中将 sparse_output 替换为 sparse

概述

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

  • 解释带单个数值特征的线性模型中的系数
  • 解释带单个分类特征的线性模型中的系数
  • 数值和分类特征组合的讨论

解释带单个数值特征的线性模型中的系数

在本节中,我们重点关注 Ames 住房数据集中的单个数值特征“GrLivArea”(地上居住面积,以平方英尺计),以了解其对“SalePrice”的直接影响。我们采用 K-折交叉验证来验证模型的性能并提取“GrLivArea”的系数。该系数估计了在所有其他因素保持不变的假设下,居住面积每增加一平方英尺,房价预计会增加多少。这是线性回归分析的一个基本方面,确保“GrLivArea”的影响与其他变量隔离。

以下是我们设置回归模型以实现此目的的方法:

此代码块的输出提供了两个关键信息:跨折叠的平均 R² 分数和“GrLivArea”的平均系数。R² 分数让我们大致了解模型在不同子集上的数据拟合程度,指示模型的 Consistency(一致性)和可靠性。同时,平均系数量化了“GrLivArea”对所有验证折叠中“SalePrice”的平均影响。

“GrLivArea”的系数可以直接解释为每平方英尺的价格变化。具体来说,它表明“GrLivArea”每增加一平方英尺,房屋的售价预计将增加约 110.52 美元(不要与每平方英尺的价格混淆,因为该系数指的是边际价格)。相反,居住面积减少一平方英尺通常会使售价降低相同的金额。

想开始学习进阶数据科学吗?

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

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

解释带单个分类特征的线性模型中的系数

虽然像“GrLivArea”这样的数值特征可以直接用于我们的回归模型,但分类特征需要不同的方法。正确编码这些分类变量对于准确的模型训练和确保结果可解释至关重要。在本节中,我们将探讨独热编码——一种通过将分类变量转换为模型框架内可解释的格式来为线性回归准备分类变量的技术。我们将特别关注如何解释这些转换产生的系数,包括战略性地选择一个参考类别来简化这些解释。

在应用独热编码时选择合适的参考类别至关重要,因为它设定了与其他类别进行比较的基线。这个基线类别的平均值通常作为我们回归模型中的截距。让我们探索销售价格在不同社区的分布,以选择一个既可解释又具有意义的参考类别。

此输出将通过突出显示平均价格最低和最高的社区,以及指示具有足够数据点(计数)以确保稳健统计分析的社区,来为我们的选择提供信息。

选择“MeadowV”作为我们的参考,设定了一个清晰的基线,解释其他社区的系数变得直接:它们显示了房屋价格比“MeadowV”贵多少。

在确定“MeadowV”为我们的参考社区后,我们现在准备对“Neighborhood”特征应用独热编码,明确排除“MeadowV”以将其设置为模型中的基线。此步骤确保所有后续社区系数都相对于“MeadowV”进行解释,从而对不同地区的房价进行清晰的比较分析。接下来的代码块将演示此编码过程,使用 K-折交叉验证拟合线性回归模型,并计算平均系数和 Y 截距。这些计算将有助于量化每个社区相对于我们基线的额外价值或不足,为市场评估提供可操作的见解。

无论我们独热编码时“删除”了哪个特征,平均 R² 都将保持一致,为 0.5408。

Y 截距提供了一个具体的定量基准。它代表了“MeadowV”的平均销售价格,形成了所有其他社区溢价或折扣的衡量基础价格水平。

每个社区的系数,相对于“MeadowV”计算,揭示了其在房价中的溢价或亏损。通过将“MeadowV”设置为独热编码过程中的参考类别,其平均销售价格有效地成为我们模型的截距。然后,为其他社区计算的系数衡量了相对于“MeadowV”的预期销售价格差异。例如,如果某个社区的系数为正,则表明该社区的房屋价格比“MeadowV”的房屋价格高出系数的值,假设所有其他因素保持不变。这种安排使我们能够直接评估和比较不同社区对“SalePrice”的影响,从而清晰量化地理解每个社区的相对市场价值。

数值和分类特征组合的讨论

到目前为止,我们已经分别考察了数值和分类特征如何影响我们的预测。然而,现实世界的数据通常需要更复杂的模型,这些模型能够同时处理多种类型的数据,以捕捉市场内复杂的相互关系。为了实现这一点,熟悉像 ColumnTransformer 这样的工具至关重要,它允许同时处理不同数据类型,确保每个特征都为建模做好了最佳准备。现在让我们演示一个例子,我们将居住面积(“GrLivArea”)与社区分类结合起来,看看这些因素如何共同影响我们的模型性能。

上面的代码应输出

将“GrLivArea”和“Neighborhood”组合成一个模型显著提高了 R² 分数,从单独的 0.5127 和 0.5408 分数分别提高到 0.7375。这一显著增加表明,整合多种数据类型能更准确地反映影响房地产价格的复杂因素。

然而,这种整合给模型带来了新的复杂性。像“GrLivArea”和“Neighborhood”这样的特征之间的交互作用可以显著改变系数。例如,“GrLivArea”的系数从单特征模型中的 110.52 降低到组合模型中的 78.93。这一变化说明了居住面积的价值如何受到不同社区特征的影响。结合多个变量需要调整系数,以考虑预测变量之间重叠的方差,从而导致系数通常与单特征模型中的系数不同。

我们组合模型计算出的平均 Y 截距为 11,786 美元。这个值代表了“MeadowV”社区中一套房屋的预测销售价格,其基础居住面积(由“GrLivArea”考虑在内)调整为零。这个截距作为基本价格点,增强了我们对不同社区与“MeadowV”在成本方面进行比较的解释,一旦调整了居住面积的大小。因此,每个社区的系数都告诉我们相对于我们的基线“MeadowV”的额外成本或节省,为不同地区房产的相对价值提供了清晰可操作的见解。

进一步阅读

API

教程

Ames 住房数据集和数据字典

总结

本文通过使用 Ames 住房数据集的清晰实用示例,指导您解释线性回归模型中的系数。我们探讨了不同类型的特征(数值和分类)如何影响模型的可预测性和清晰度。此外,我们还讨论了组合这些特征的挑战和好处,尤其是在解释的背景下。

具体来说,你学到了:

  • 单个数值特征的直接影响:“GrLivArea”系数如何直接量化每增加一平方英尺“SalePrice”的增加,提供了一个简单模型中其预测值的清晰衡量。
  • 处理分类变量:独热编码在处理“Neighborhood”等分类特征方面的重要性,说明了选择基线类别如何影响系数的解释,并为不同区域之间的比较奠定基础。
  • 组合特征以增强模型性能:“GrLivArea”和“Neighborhood”的整合不仅提高了预测准确性(R² 分数),而且引入了影响每个特征系数解释的复杂性。这一部分强调了实现高预测准确性与保持模型可解释性之间的权衡,这对于在房地产市场中做出明智决策至关重要。

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

开始学习进阶数据科学!

Next-Level Data Science

掌握数据科学项目成功的思维模式

...通过清晰、实用的例子建立专业知识,尽量减少复杂的数学,并专注于实践学习。

在我的新电子书中探索如何实现
新一代数据科学

它提供自学教程,旨在指导您从入门级到高级。学习优化工作流程,管理多重共线性,改进基于树的模型,以及处理缺失数据等等,以帮助您获得更深入的见解并用数据进行有效的叙述。

通过实际练习提升您的数据科学技能


查看内容

解释线性回归模型中的系数的 2 条回复

  1. Pepeto 2024年8月26日上午8:22 #

    修正这条线
    encoder = OneHotEncoder(sparse=False, drop=[“MeadowV”]) 为 encoder = OneHotEncoder(sparse_output=False, drop=[“MeadowV”])

    • James Carmichael 2024年8月27日上午12:26 #

      嗨,Pepeto……感谢您的反馈!

发表回复

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