【发布时间】:2017-06-25 11:13:33
【问题描述】:
我对机器学习非常陌生,需要澄清一些事情。我试图根据他们的 Facebook 喜欢来预测某人喜欢某项活动的概率。我正在使用朴素贝叶斯分类器,但有几件事不确定。 1. 我的标签/输入是什么? 2. 我需要为训练数据收集哪些信息?我的猜测是创建一个调查,并询问该人是否会喜欢某项活动(从 1 到 10 分)
【问题讨论】:
标签: machine-learning naivebayes
我对机器学习非常陌生,需要澄清一些事情。我试图根据他们的 Facebook 喜欢来预测某人喜欢某项活动的概率。我正在使用朴素贝叶斯分类器,但有几件事不确定。 1. 我的标签/输入是什么? 2. 我需要为训练数据收集哪些信息?我的猜测是创建一个调查,并询问该人是否会喜欢某项活动(从 1 到 10 分)
【问题讨论】:
标签: machine-learning naivebayes
在监督分类中,所有分类器都需要用已知的标记数据进行训练,这些数据称为训练数据。您的数据应该有一个特征向量,后跟一个称为 class 的特殊特征向量。在您的问题中,该人是否喜欢该活动。
一旦你训练了分类器,你应该用另一个数据集测试它的行为,以免产生偏见。此数据集必须具有 class 作为训练数据。如果您使用相同的数据集进行训练和测试,您的分类器预测可能非常好但不公平。
我建议你看看 K 折交叉验证等评估技术。
您应该知道的另一件事是,常见的朴素贝叶斯分类器用于预测二进制数据,因此您的类应该是 0 或 1,这意味着您进行调查的人喜欢或不喜欢这项活动。它还在 Weka (Java) 或 SkLearn (Python) 等包中实现。
如果您真的对贝叶斯分类器感兴趣,我不得不说,事实上,用于二元分类的朴素贝叶斯并不是最好的分类器,因为Minsky in 1961 发现决策边界是超平面。 Brier Score 也很糟糕,据说这个分类器没有很好地校准。但是,它毕竟做出了很好的预测。
希望对你有帮助。
【讨论】:
这对于朴素贝叶斯来说可能相当困难。您需要收集(或计算)一个人是否喜欢活动 X 的样本,以及他们在 Facebook 上喜欢的详细信息(以某种一致的方式组织)。
基本上,对于朴素贝叶斯,您的训练数据应该与测试数据的数据类型相同。
如果您可以访问每个人的 Facebook 点赞历史,调查方法可能会奏效。
【讨论】: