0

我目前正在使用支持向量机来预测用户将购买给定人口统计数据的商品。该数据集还包括某个年龄段的用户购买了每件商品的数量。它看起来像这样:

   items a b c
age 
15-20    10 3 10
20-25    1 5 6
25-30    2 5 6

我不确定如何将其合并到训练数据中,因为我能想到的将其合并的唯一方法是包含一组用户购买该商品的概率值,但这非常笨拙。我的另一个想法是使用集成学习方法,并将 svm 与可能的朴素贝叶斯分类器结合起来。我正在使用 sklearn 来构建我的模型。

4

1 回答 1

1

当你想为数据点引入权重时,SVM 就不再那么有吸引力了。当相同或非常接近的数据点具有不同的分类时,基础代数就不能很好地工作。根据您上面提供的数据,我确实希望朴素贝叶斯会提供更快的计算和更清晰的结果。

也就是说,您使用的是什么 SVM 算法?如果它以某种方式对向量进行加权——每个点只使用一次,或者为梯度下降方法的每次迭代选择一个随机点——那么你当然可以通过将每个点添加到训练集中给定数字来处理这个问题次。例如,您将有 10 行说明青少年购买了商品 a。

另一方面,朴素贝叶斯会给你一个统计上准确的模型的权重。与其几乎单方面地预测 20 多岁的人会购买商品 c(这实际上是购买商品的一小部分),不如您有一个模型可以告诉您 48% 的 20 多岁的人会购买商品 c,并且几乎一样多的人会购买商品 b。

这个讨论有帮助吗?

于 2015-12-18T23:51:48.657 回答