收集机器学习培训数据

时间:2017-02-08 01:06:31

标签: machine-learning naivebayes

我对机器学习很陌生,需要澄清一些事情。我试图预测某人喜欢基于Facebook喜欢的活动的可能性。我正在使用朴素贝叶斯分类器,但我不确定几件事情。 1.我的标签/输入是什么? 2.我需要收集哪些信息来培训数据?我的猜测是创建一项调查,并对该人享受某项活动有所疑问(从1-10开始)

2 个答案:

答案 0 :(得分:2)

在监督分类中,所有分类器都需要使用已知标记数据进行训练,此数据称为训练数据。您的数据应该有一个功能向量,后跟一个名为 class 的特殊功能。在你的问题中,如果这个人喜欢这项活动。

训练分类器后,您应该使用其他数据集测试其行为,以免产生偏差。此数据集必须具有作为列车数据。如果您使用相同的数据集进行训练和测试,那么您的分类器预测可能非常好但不公平。

我建议你看看K Fold Cross Validation等评估技巧。

您应该知道的另一件事是,常用的NaïveBayes分类器用于预测二进制数据,因此您的类应该是0或1,这意味着您进行调查的人喜欢或不喜欢该活动。它也是在Weka(Java)或SkLearn(Python)等软件包中实现的。

如果你真的对贝叶斯分类器感兴趣,我需要说实际上,用于二进制分类的NaïveBayes并不是最好的,因为Minsky in 1961发现决策边界是超平面。此外Brier Score非常糟糕,可以说这个分类器没有很好地校准。但是,毕竟它做出了很好的预测。

希望它有所帮助。

答案 1 :(得分:0)

Naive Bayes可能相当困难。您需要收集(或计算)一个人是否喜欢活动X的样本,以及他们的Facebook喜欢的详细信息(以一致的方式组织)。

基本上,对于Naive Bayes,您的训练数据应与测试数据的数据类型相同。

如果您可以像历史一样访问每个人的Facebook,那么调查方法可能会有效。