我有大约1万名客户的历史购买数据3个月,我想用这些数据预测未来3个月的购买情况。我使用客户ID作为输入变量,因为我希望xgboost学习不同类别之间的个人支出。有没有办法调整,所以重点是根据每个个人购买了解更多?或者更好的方法来解决这个问题?
答案 0 :(得分:1)
您可以使用权重向量,您可以在xgboost中传递weight
参数;大小等于nrow(trainingData)
的向量。然而,这通常用于惩罚分类错误中的错误(想想稀疏数据与只有销售说一个月左右的项目;你想学习销售然后你需要给销售实例更多的权重,否则所有的预测将是零)。显然你正在尝试tweak
我无法理解的自变量的重量。
学习因变量的行为(在你的情况下是销售)是机器学习模型所做的,你应该让它完成它的工作。你不应该调整它来强制学习一些功能。对于学习购买行为,聚类类型的无监督技术将更有用。
要包含用户特定的行为,首先要做的是进行群集,并为每个用户识别索引不足和过度索引的类别。然后,您可以使用这些标志创建一些分类功能。
PS:解释您问题的一些数据可以帮助其他人更好地帮助您。
答案 1 :(得分:0)
它自2020年12月10日起随XGBoost 1.3.0一起提供,名称为feature_weights:https://xgboost.readthedocs.io/en/latest/python/python_api.html#xgboost.XGBClassifier.fit,我将在此处进行编辑/使用它的教程。