我有一个决策树,该决策树在列(年龄,性别,时间,日期,视图,点击次数)上进行训练,该列分为两类 - 是或否 - 代表项目X的购买决策。使用这些值,我试图预测 1000 个样本(客户)的概率,看起来像('12'、'男性'、'9:30'、'星期一'、'10'、'3'),("50"、"女性"、"10:40"、"周日"、"50"、"6")........我想获得个人概率或分数,这将有助于我识别哪些客户最有可能购买商品 X。因此,我希望能够对预测进行排序,并仅向 5 个想要购买项目 X 的客户显示特定项目。我怎样才能做到这一点?决策树能达到目的吗?还有其他方法吗?我是ML的新手,所以请原谅我的任何词汇错误。
使用具有小样本集的决策树,您肯定会遇到过拟合问题。特别是在决策的较低级别,树将拥有指数级更少的数据来训练决策边界。您的数据集应该包含比类别数量多得多的样本,并且每个类别都有足够的样本。
说到决策边界,请确保您了解如何处理每个维度的数据类型。例如,"性别"是一个分类数据,其中"年龄"、"一天中的时间"等是实值输入(离散/连续)。因此,树的不同部分需要不同的配方。否则,您的模型最终可能会处理 9:30、9:31、9:32...作为单独的类。
尝试其他一些算法,从简单的算法开始,如k-最近邻(KNN)。有一个验证集来测试每个算法。使用 Matlab(或类似软件),您可以使用库快速尝试不同的方法,看看哪一种效果最好。这里没有足够的信息来向您推荐非常具体的东西。加
我建议你也试试KNN。KNN能够捕获数据中的亲和力。比如说,一个产品X是由20岁左右的人在晚上购买的,在产品页面上点击大约5次后。KNN 将能够告诉您每个新客户与购买该商品的客户的距离。基于此,您可以选择前 5 名。非常容易实现,可以很好地作为更复杂方法的基准。
(假设观看次数和点击次数是指每个客户对产品 X 的点击次数和观看次数)
决策树是一个分类器,通常不适合作为推荐系统的基础。但是,鉴于您只预测购买一件商品的可能性,而不是数万件商品,因此使用分类器是有意义的。
您只需对所有客户进行评分,并保留购买 X 概率最高的 5 个,是的。这个问题还有什么吗?