类别先验在 Weka 分类中的作用
Posted
技术标签:
【中文标题】类别先验在 Weka 分类中的作用【英文标题】:Role of class priors in Weka classification 【发布时间】:2013-01-09 11:49:52 【问题描述】:我有一个由大约 1568 行组成的训练数据集,每行都有类属性的七个值之一。我正在寻求在 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
【问题讨论】:
【参考方案1】:类先验是对从总体中随机抽样一个实例将产生给定类的概率的估计(无论实例的任何属性如何)。 Weka 假设您的训练数据是从总体中随机抽取的,因此您的训练集中的类比例表明它们在抽样总体中的相对丰度。请注意,Weka 报告的不是先验,而是用于计算先验的计数。将每个计数加 1 的原因是为了防止在训练数据中未表示特定类的情况下计数为零。所以 Weka 应该将每个类的实际先验计算为
P(c_i) = n_i / (N + C)
其中n_i
是i
类的样本数,N
是样本总数,C
是类数。
作为先验概率用于什么的一个非常简单的例子,考虑对疾病进行分类,只知道一个人发烧和头痛。这些症状是流感和埃博拉病毒的迹象。但是感染流感的人远多于埃博拉病毒(流感的先验概率远高于埃博拉病毒),因此根据这些症状,您可以将疾病归类为流感。
Weka 提供了更新或覆盖默认先验概率的方法。要了解如何在分类中使用先验概率的数学细节,请查看 Bayes' Theorem。
【讨论】:
以上是关于类别先验在 Weka 分类中的作用的主要内容,如果未能解决你的问题,请参考以下文章