如何调整 xgboost 为变量分配更多权重?

mun*_*uni 5 r tweak xgboost

我有大约 10k 客户 3 个月的历史购买数据,我想使用该数据来预测他们在未来 3 个月内的购买情况。我使用客户 ID 作为输入变量,因为我希望 xgboost 了解不同类别之间的个人支出。有没有办法进行调整,以便重点是根据每个人的购买情况了解更多信息?或者解决这个问题的更好方法?

abh*_*eor 1

您可以使用权重向量,您可以weight在 xgboost 中将其传递给参数;大小等于 的向量nrow(trainingData)。然而,这通常用于惩罚分类错误中的错误(考虑一下稀疏数据,这些数据仅在一个月左右销售一次;您想要了解销售情况,那么您需要给予销售实例更多的权重,否则所有预测都将是零)。显然你正在尝试tweak对自变量进行权重,我无法很好地理解。

学习因变量(在你的例子中是销售额)的行为是机器学习模型所做的,你应该让它完成它的工作。您不应该调整它来强制仅从某些功能中学习。对于学习购买行为聚类类型的无监督技术将更有用。

要包含用户特定行为,首先要做的是进行聚类并识别每个用户索引不足和索引过高的类别。然后您可以使用这些标志创建一些分类特征。

PS:一些解释你的问题的数据可以帮助其他人更好地帮助你。

  • 我认为要求是对特征而不是个体进行加权,即确保模型更容易包含一些与金额相关的变量,而不是其他变量,例如购买数量或简单的产品拥有量。 (2认同)