利用回归的目标值

数据挖掘 聚类 回归 统计数据 决策树 描述性统计
2022-03-08 17:44:02

问题:

我有一个回归问题,我决定使用 Gradient Boosting Regression Trees 来解决它。在所有预处理之后,我最终拥有大约 130 个属性、70K 行,并且我的交叉验证 R 平方为 0.62。

到目前为止的工作:

为了增加我的 R 平方(并收紧我的预测间隔),我尝试使用将目标划分为线性组的提示功能(我手动决定 4 个组并将目标放入 4 个箱中, - 为什么是 4 个?不是太小不是大而不聪明地决定。)。

我知道这不是通常的方法,但这对我的应用程序是可行的,因为最终,我将从用户那里收集这些提示。(我将询问该用户的目标值,并根据他/她的数据向他/她建议另一个目标值。)

因此,我可以将每个用户放入这样的组中,因为似乎并非所有用户的行为都相同,并且他们需要为目标值极高/极低的用户单独建模,而且分布非常正确-倾斜。

使用此作弊提示功能后,我的交叉验证 R 平方变为 0.81。然而,显然,将目标分成这样的线性组,带来了一个阶梯式模型的缺点,该模型在这些组之间有一个明确的分隔,而这并不一定总是如此(用户最有可能给出他的目标值,但不一定应该属于该组),这种分箱的边界值不应该手动确定,这个模型肯定需要平滑。

下一步?

在看到这种方法可能会有所帮助(并且我真的可以利用用户给定的值)之后,我现在正在考虑更聪明的方法来区分用户之间关于这些提示的问题。我正在考虑应用层次聚类并将聚类信息用作提示功能,但不确定这是否是最好的方法。

对于这种方法(论文会很棒)或统计方法来计算这种边界值(基于密度的方法除外),您可能会对我有什么建议吗?

1个回答

集群绝对是有帮助的。正如您所描述的,问题在于您可以看到并非所有实例都以相同的方式“表现”。因此,如果您可以将它们分成行为更相似的组,您可能会有所改进。

任何聚类技术在理论上都可以工作。虽然,像 K-means 这样的技术确实有利于均匀大小的集群,所以如果你的问题不一定是“平衡的”,我会小心的。

您还可以做些什么来改进您的聚类是查看哪些特征更具辨别力(也许查看信息增益)并使用加权距离来支持这些特征。

我觉得可以帮助您的另一种方法是如果您使用元学习/堆叠。我的意思是你可以使用决策树以监督的方式(而不是聚类)分割你的数据,并且在叶子上,使用比多数投票更精细的回归器。