它看起来是一个有趣的项目。如果我没有错,您想预测特定用户是否将特定产品添加到他/她的购物车(目标 = 1)或不(目标 = 0)。在这个项目中使用数据科学概念是一个很棒的主意。
从我的角度来看,首先,您应该浏览您的数据以手动分析它并尝试收集尽可能多的隐藏数据。你做的分析越多(电子商务),你就会得到越多的数据。好吧,我不是电子商务领域的专家,但可以说例如一天的类型(节日或工作日)或特定的用户历史可能对这个系统有用。
完成此操作后,您应该尝试填充缺失的数据(如果您有一些数据缺失),而不是仅仅忽略这些数据。然后,您应该绘制一些数据图表,以了解所有特征如何相互关联。这可能会帮助您分析哪些是重要功能。例如,通过查看图表,您可能会看到特定产品的销量随着该产品的受欢迎程度而增加。matplotlib并且seaborn是执行此操作的最佳库。
接下来也是最重要的一步是将机器学习模型应用于目标数据的预测(是/否)。
很明显,您将获得大多数数据为否 (y = 0)。因此,您的训练数据中有不平衡的数据集。正如您的同行所建议的那样,XGBoost 将是分类不平衡数据的最佳选择。现在,您应该在拟合模型之前对您的数据进行小幅修改。您可以通过在 (y = 1) 类上增加权重来调整目标数据的权重。
weights = np.zeros(len(y_train))
weights[y_train == 0] = 5
weights[y_train == 1] = 10
我认为您也可以cross-validation仅在您的训练数据上尝试(5 倍)。F1-Macro使用分数来查找准确性和评估模型 也很好。
你一定要试试这个东西。最后,您可能会获得比您预期更多的好处。您还可以使用这些数据稍后在您的电子商务网站上制作产品推荐系统。