我有一组训练的数据,其中包含约1568行,每行具有class属性的七个值之一。我正在尝试在168行的第二个数据集上测试此数据。

但是我有一个问题。 Weka报告称“班级先验”是:

141.0
169.0
225.0
197.0
421.0
281.0
141.0


我的训练集每个类的属性值具有以下实例数:

140
168
224
196
420
280
140


除了班级先验知识和每个班级属性值与训练集行数密切相关之外,谁能告诉我它们是什么以及它们实际代表什么?

测试集每个类的属性值具有以下实例数:

15
18
24
21
45
30
15

最佳答案

优先级是对从总体中随机采样实例将产生给定类的概率的估计(无论实例的任何属性如何)。 Weka假设您的训练数据是从总体中随机抽取的,因此您的训练集中的班级比例表明了他们在抽样人群中的相对丰度。请注意,Weka报告的不是先验,而是用于计算先验的计数。在每个计数上加1的原因是为了防止在训练数据中未显示特定类别的情况下计数为零。因此,Weka应该计算每个班级的实际先验

P(c_i) = n_i / (N + C)


其中,n_i是类别i的样本数,N是样本总数,C是类别数。

作为先验概率用于做什么的一个非常简单的例子,考虑对疾病进行分类,仅知道一个人发烧和头痛。这些症状既是流感的标志,也是埃博拉病毒的标志。但是,得了流感的人要多于埃博拉病毒(以前患流感的可能性比埃博拉病毒高得多),因此根据这些症状,您可以将疾病归为流感。

Weka提供了更新或覆盖默认优先级概率的方法。要查看如何在分类中使用先验概率的数学细节,请查看Bayes' Theorem

10-06 13:37