搜索
首页科技周边人工智能理解互动术语的指南

介绍

交互项纳入回归模型中,以捕获因变量中两个或多个自变量的效果。有时,正在调查的不仅仅是控制变量与目标变量之间的简单关系,在这些时刻,交互项可能会很有帮助。每当一个自变量与因变量之间的关系是在另一个自变量的级别上的条件时,这些也很有用。

当然,这意味着一个预测因子对响应变量的影响取决于另一个预测因子的水平。在此博客中,我们通过模拟方案检查了交互术语的概念:一次又一次地预测用户使用过去的行为在电子商务渠道上花费的时间。

学习目标

  • 了解相互作用术语如何增强回归模型的预测能力。
  • 学会在回归分析中创建并纳入交互术语。
  • 通过一个实际示例分析交互项对模型准确性的影响。
  • 可视化和解释交互术语对预测结果的影响。
  • 了解在现实世界中何时以及为什么应用互动术语的洞察力。

本文作为数据科学博客马拉松的一部分发表

目录

  • 介绍
  • 了解互动术语的基础知识
  • 相互作用术语如何影响回归系数?
  • 模拟方案:电子商务平台上的用户行为
  • 没有互动项的模型
  • 具有相互作用术语的模型
  • 比较模型性能
  • 结论
  • 常见问题

了解互动术语的基础知识

在现实生活中,我们没有发现变量可在隔离其他人方面起作用,因此现实生活中的模型比我们在课堂上研究的模型要复杂得多。例如,当用户将物品添加到购物车中并购买时,最终用户导航操作(例如将项目添加到购物车中)的影响会有所不同。因此,将交互项添加为变量到回归模型中,可以确认这些交叉点,因此,在解释观察到的数据和/或预测因变量的未来值的模式方面增强了模型的适合度。

数学表示

让我们考虑一个具有两个独立变量x1和x2的线性回归模型:

y =β0β1x1β2x2 ϵ,

其中y是因变量,β0是截距,β1和β2分别是自变量x1和x2的系数,并且是误差项。

添加互动术语

要包括X1和X2之间的交互项,我们引入了一个新的变量X1·X2:

y =β0β1x1β2x2β3(x1·x2)ϵ,

其中β3的代表x1和x2之间的相互作用效应。 x1·x2术语两个自变量的乘积。

相互作用术语如何影响回归系数?

  • β0:截距,代表所有自变量零时y的期望值。
  • β1:当x2为零时x1对y的影响。
  • β2:当x1为零时x2对y的影响。
  • β3:X1对X的影响的变化X2的单位变化,或等效地,X2对Y对X1单位变化的影响的变化。

示例:用户活动和花费的时间

首先,让我们创建一个模拟数据集来表示在线商店上的用户行为。数据包括:

  • add_in_cart:指示用户是否已在其购物车中添加了产品(1添加1,而不添加0)。
  • 购买:用户是否完成了购买(完成为1,或不完成为0)。
  • time_spent:用户在电子商务平台上花费的时间。我们的目标是通过分析用户是否在购物车中添加产品并完成交易来预测用户访问的持续时间。
 #导入库
导入大熊猫作为pd
导入numpy作为NP

#生成合成数据
def generate_synthetic_data(n_samples = 2000):

    np.random.seed(42)
    add_in_cart = np.random.randint(0,2,n_samples)
    购买= np.random.randint(0,2,n_samples)
    time_spent = 3 2*购买2.5*添加了_in_cart 4*购买*add_in_cart np.random.normal(0,1,n_samples)
    返回pd.dataframe({'购买':购买,'add_in_cart':add_in_cart,'time_spent':time_spent})

df = generate_synthetic_data()
df.head()

输出:

理解互动术语的指南

模拟方案:电子商务平台上的用户行为

作为下一步,我们将首先构建一个普通的最小平方回归模型,并考虑到市场的这些行动,但没有覆盖其相互作用的影响。我们的假设如下:(假设1)在网站上所花费的时间分别采取了分别采取的时间。现在,我们将构建第二个模型,其中包括将产品添加到购物车与购买之间存在的交互项。

这将有助于我们分别或在网站上花费的时间组合这些行动的影响。这表明我们要找出在购物车中添加产品并进行购买的用户是否在网站上花费更多的时间,而不是单独考虑每个行为时所花费的时间。

没有互动项的模型

遵循模型的构建,记录了以下结果:

  • 没有交互项的平均平方误差(MSE)为2.11,大约为80%(测试R平方)和Time_Spent中差异的82%(列车R-Squared)。这表明time_spent预测平均是2.11平方单元与实际time_spent关闭。尽管可以改善此模型,但它是合理准确的。
  • 此外,下图以图形方式表明,尽管该模型的性能相当出色。仍然有很大的改进空间,尤其是在捕获更高的time_spent值方面。
 #导入库
来自sklearn.model_selection导入train_test_split
来自sklearn.linear_model导入linearrecress
来自sklearn.metrics导入均值_squared_error,r2_score
导入statsmodels.api作为sm
来自sklearn.model_selection导入train_test_split
导入matplotlib.pyplot作为PLT

#没有互动术语的模型
x = df [['publated','add_in_cart']]
y = df ['time_spent']
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size = 0.3,andural_state = 42)

#为拦截添加一个常数
x_train_const = sm.add_constant(x_train)
x_test_const = sm.add_constant(x_test)

model = sm.ols(y_train,x_train_const).fit()
y_pred = model.predict(x_test_const)

#计算模型的指标,而无需交互项
train_r2 = model.rsquared
test_r2 = r2_score(y_test,y_pred)
mse = mean_squared_error(y_test,y_pred)

打印(“没有互动术语的模型:”)
打印('训练R平方分数(%):',圆形(Train_r2 * 100,4))
打印('测试R平方分数(%):',圆形(test_r2 * 100,4))
打印(“ MSE:”,圆形(MSE,4))
打印(model.summary())


#绘制实际与预测的功能
def plot_actual_vs_predicted(y_test,y_pred,title):

    plt.figure(无花果=(8,4))
    plt. -scatter(y_test,y_pred,edgeColors =(0,0,0,0))
    plt.plot([y_test.min(),y_test.max()],[y_test.min(),y_test.max()],'k--',lw = 2)
    plt.xlabel('实际')
    plt.ylabel(“预测”)
    plt.title(标题)
    plt.show()

#没有互动术语的情节
plot_actual_vs_predicted(y_test,y_pred,'实际vs预测时间(无互动术语)')

输出:

理解互动术语的指南

理解互动术语的指南

具有相互作用术语的模型

  • 与交互项的散点图指示了具有交互项的模型的更好拟合,该散点图与交互项相互贴合,该术语显示了更接近实际值的预测值。
  • 该模型用交互项解释了time_spent中的更多差异,如较高的测试R平方值所示(从80.36%到90.46%)。
  • 较低的MSE(从2.11到1.02)证明了模型对交互项的预测更为准确。
  • 该点与对角线线的距离更紧密,特别是对于更高的时间_spent值,这表明拟合度得到了改善。交互术语有助于表达用户行动如何共同影响所花费的时间。
 #添加互动术语
df ['购买的_ADDED_IN_CART'] = DF ['puperated'] * df ['add_in_cart']
x = df [['购买','add_in_cart','购买的_added_in_cart']]]
y = df ['time_spent']
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size = 0.3,andural_state = 42)

#为拦截添加一个常数
x_train_const = sm.add_constant(x_train)
x_test_const = sm.add_constant(x_test)

model_with_interaction = sm.ols(y_train,x_train_const).fit()
y_pred_with_interaction = model_with_interaction.predict(x_test_const)

#计算具有交互项的模型的指标
train_r2_with_interaction = model_with_interaction.rsquared
test_r2_with_interaction = r2_score(y_test,y_pred_with_interaction)
mse_with_interaction = mean_squared_error(y_test,y_pred_with_interaction)

打印(“ \ nmodel具有交互术语:”)
打印('训练R平方分数(%):',圆形(train_r2_with_interaction * 100,4))
打印('测试R平方分数(%):',圆形(test_r2_with_interaction * 100,4))
打印(“ MSE:”,圆形(MSE_WITH_INTRACTION,4))
打印(model_with_interaction.summary())


#带有互动术语的情节
plot_actual_vs_predicted(y_test,y_pred_with_interaction,'实际vs预测的时间(与互动术语)')

#打印比较
打印(“模型的比较:”)
打印(“无互动术语的r平方:”,round(r2_score(y_test,y_pred)*100,4))
print(“带有交互术语的R平方:”,round(r2_score(y_test,y_pred_with_interaction)*100,4)))))
打印(“没有互动术语的MSE:”,round(mean_squared_error(y_test,y_pred),4))
打印(“带有交互术语的MSE:”,round(mean_squared_error(y_test,y_pred_with_interaction),4))

输出:

理解互动术语的指南

理解互动术语的指南

比较模型性能

  • 没有交互项的模型预测由蓝点表示。当实际花费的值较高时,这些点就会从对角线分散。
  • 相互作用项的模型预测由红点表示。具有相互作用项的模型会产生更准确的预测。特别是对于更高的实际时间所花费的值,因为这些点更接近对角线线。
 #在有和没有交互项的情况下比较模型

def plot_actual_vs_predication_combined(y_test,y_pred1,y_pred2,title1,title2):

    plt.figure(无花果=(10,6))
    plt. -scatter(y_test,y_pred1,edgecolors ='blue',label = title1,alpha = 0.6)
    plt. -scatter(y_test,y_pred2,edgecolors ='red',label = title2,alpha = 0.6)
    plt.plot([y_test.min(),y_test.max()],[y_test.min(),y_test.max()],'k--',lw = 2)
    plt.xlabel('实际')
    plt.ylabel(“预测”)
    plt.title(“实际vs预测用户花费的时间”)
    plt.legend()
    plt.show()

plot_actual_vs_predictical_combined(y_test,y_pred,y_pred_with_interaction,'模型无交互项',“具有交互术语的模型”)

输出:

理解互动术语的指南

结论

与交互术语相互作用的模型性能的改进表明,有时在模型中添加交互项可能会增强其重要性。这个示例强调了相互作用项如何捕获仅从主要效果中明显看出的其他信息。实际上,考虑回归模型中的相互作用术语可能会导致更准确和有见地的预测。

在此博客中,我们首先生成了一个合成数据集,以模拟电子商务平台上的用户行为。然后,我们构建了两个回归模型:一个没有相互作用项,一个具有相互作用项。通过比较它们的性能,我们证明了交互项对模型准确性的重大影响。

在GitHub上查看完整的代码和资源。

关键要点

  • 具有相互作用项的回归模型可以通过捕获其组合效果来更好地理解两个或多个变量与目标变量之间的关系。
  • 包括交互项可以显着改善模型性能,这可以通过本指南中较高的R平方值和较低的MSE证明。
  • 互动术语不仅是理论概念,还可以应用于现实世界的情况。

常见问题

Q1。回归分析中的相互作用术语是什么?

答:它们是通过乘以两个或多个自变量来创建的变量。它们用于捕获这些变量对因变量的综合效果。这可以为数据中的关系提供更细微的理解。

Q2。我什么时候应该考虑在模型中使用互动术语?

答:当您怀疑一个自变量对因变量的影响取决于另一个自变量的级别时,应考虑使用它。例如,如果您认为在电子商务平台上花费的时间添加物品的影响取决于用户是否进行购买。您应该在这些变量之间包括一个交互项。

Q3。如何解释相互作用术语的系数?

答:交互项的系数表示一个独立变量对另一个自变量中一个单元变化的因变量的效果的变化。例如,在上面的示例中,我们在购买和add_in_cart之间有一个交互项,该系数告诉我们在购买购买时如何将物品添加到购物车的时间更改的效果。

本文所示的媒体不由Analytics Vidhya拥有,并由作者酌情使用。

以上是理解互动术语的指南的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
脱衣服免费色情AI工具网站脱衣服免费色情AI工具网站May 13, 2025 am 11:26 AM

https://undressaitool.ai/是功能强大的移动应用程序,具有成人内容的高级AI功能。立即创建AI生成的色情图像或视频!

如何使用Undressai创建色情图像/视频如何使用Undressai创建色情图像/视频May 13, 2025 am 11:26 AM

有关使用distressai创建色情图片/视频的教程:1。打开相应的工具Web链接; 2。单击工具按钮; 3。根据页面提示上传所需的生产内容; 4。保存并享受结果。

Undress AI官方网站入口网站地址Undress AI官方网站入口网站地址May 13, 2025 am 11:26 AM

脱衣服AI的官方地址是:https://undressaitool.ai/; undressai是功能强大的移动应用程序,具有成人内容的高级AI功能。立即创建AI生成的色情图像或视频!

垂undressai如何产生色情图像/视频?垂undressai如何产生色情图像/视频?May 13, 2025 am 11:26 AM

有关使用distressai创建色情图片/视频的教程:1。打开相应的工具Web链接; 2。单击工具按钮; 3。根据页面提示上传所需的生产内容; 4。保存并享受结果。

垂ipersai色情AI官方网站地址垂ipersai色情AI官方网站地址May 13, 2025 am 11:26 AM

脱衣服AI的官方地址是:https://undressaitool.ai/; undressai是功能强大的移动应用程序,具有成人内容的高级AI功能。立即创建AI生成的色情图像或视频!

脱衣舞用法教程指南文章脱衣舞用法教程指南文章May 13, 2025 am 10:43 AM

有关使用distressai创建色情图片/视频的教程:1。打开相应的工具Web链接; 2。单击工具按钮; 3。根据页面提示上传所需的生产内容; 4。保存并享受结果。

[带AI的吉卜力风格图像]介绍如何使用Chatgpt和版权创建免费图像[带AI的吉卜力风格图像]介绍如何使用Chatgpt和版权创建免费图像May 13, 2025 am 01:57 AM

OpenAI发布的最新模型GPT-4o,不仅能生成文本,还具备图像生成功能,引发广泛关注。其中最受瞩目的功能便是“吉卜力风格插画”的生成。只需将照片上传至ChatGPT,并给出简单的指令,即可生成宛如吉卜力工作室作品般梦幻的图像。本文将详细解读实际操作流程、效果感受,以及需要注意的错误和版权问题。 OpenAI发布的最新模型“o3”详情请点击此处⬇️ OpenAI o3(ChatGPT o3)详解:特性、定价体系及o4-mini介绍 吉卜力风格文章的英文版请点击此处⬇️ 利用ChatGPT创作吉

解释在地方政府中使用和实施CANTGPT的示例!还介绍了禁止的地方政府解释在地方政府中使用和实施CANTGPT的示例!还介绍了禁止的地方政府May 13, 2025 am 01:53 AM

作为一种新的交流方法,在地方政府中使用和引入Chatgpt引起了人们的关注。尽管这种趋势在广泛的领域正在发展,但一些地方政府拒绝使用Chatgpt。 在本文中,我们将介绍地方政府中ChatGPT实施的示例。我们将通过各种改革实例,包括支持文件创建和与公民对话,从而探索如何通过各种改革实例来实现地方政府服务的质量和效率提高。 不仅旨在减少员工工作量并改善公民的便利性的地方政府官员,而且都对高级用例感兴趣。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境