【问题标题】:Collecting Machine learning training data收集机器学习训练数据
【发布时间】:2017-06-25 11:13:33
【问题描述】:

我对机器学习非常陌生,需要澄清一些事情。我试图根据他们的 Facebook 喜欢来预测某人喜欢某项活动的概率。我正在使用朴素贝叶斯分类器,但有几件事不确定。 1. 我的标签/输入是什么? 2. 我需要为训练数据收集哪些信息?我的猜测是创建一个调查,并询问该人是否会喜欢某项活动(从 1 到 10 分)

【问题讨论】:

    标签: machine-learning naivebayes


    【解决方案1】:

    在监督分类中,所有分类器都需要用已知的标记数据进行训练,这些数据称为训练数据。您的数据应该有一个特征向量,后跟一个称为 class 的特殊特征向量。在您的问题中,该人是否喜欢该活动。

    一旦你训练了分类器,你应该用另一个数据集测试它的行为,以免产生偏见。此数据集必须具有 class 作为训练数据。如果您使用相同的数据集进行训练和测试,您的分类器预测可能非常好但不公平。

    我建议你看看 K 折交叉验证等评估技术。

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

    如果您真的对贝叶斯分类器感兴趣,我不得不说,事实上,用于二元分类的朴素贝叶斯并不是最好的分类器,因为Minsky in 1961 发现决策边界是超平面。 Brier Score 也很糟糕,据说这个分类器没有很好地校准。但是,它毕竟做出了很好的预测。

    希望对你有帮助。

    【讨论】:

    • 功能是什么?我仍然对如何构建数据感到有些困惑。
    • 如果您正在寻找一个案例,正式名称为 individual,它应该看起来像:2,2,7,10,0, 1 .这意味着:第一个问题的答案是 2,第二个问题的答案是 2,以此类推。最后一个数字(粗体)对应于 class 特征,为 1,表示此人对活动感到满意。请注意,您不是只使用一次实例,而是有一个矩阵,每一行对应一个实例。
    【解决方案2】:

    这对于朴素贝叶斯来说可能相当困难。您需要收集(或计算)一个人是否喜欢活动 X 的样本,以及他们在 Facebook 上喜欢的详细信息(以某种一致的方式组织)。

    基本上,对于朴素贝叶斯,您的训练数据应该与测试数据的数据类型相同。

    如果您可以访问每个人的 Facebook 点赞历史,调查方法可能会奏效。

    【讨论】:

    • 还有其他分类器可以让这更简单吗?
    • 理想情况下,我确实可以访问此人的 Facebook 赞,但我仍然对如何设置培训输入阶段有点困惑
    • 我会深入了解贝叶斯定理/贝叶斯规则,以深入了解如何从您的数据中进行训练。 stackoverflow.com/a/20556654/7531811 很好地概括了这一点!
    • 对条件概率和作为朴素贝叶斯一部分的贝叶斯规则的深入理解对于理解如何使用这种方法进行训练和测试绝对重要。
    猜你喜欢
    • 2022-08-08
    • 2017-04-06
    • 2020-06-15
    • 2020-02-21
    • 2011-02-15
    • 2015-12-21
    • 1970-01-01
    • 2014-12-27
    • 2019-07-03
    相关资源
    最近更新 更多