【发布时间】:2013-03-06 23:08:01
【问题描述】:
首先让我说,我是 WEKA 新手。
我正在将 WEKA 用于二进制分类问题,其中某些指标被用于获得实例的是/否答案。
为了举例说明这个问题,这是我使用 BayesNet 得到的一组包含 288 个实例、190 个“是”和 98 个“否”值的混淆矩阵:
a b <-- classified as
190 0 | a = yes
98 0 | b = no
这种绝对分离也适用于其他一些分类器,但并非所有分类器都适用。也就是说,即使分类器的值没有极化到这样的程度,它们确实对主要类别有明确的偏见。例如,下面是 RandomForest 的结果:
a b <-- classified as
164 34 | a = yes
62 28 | b = no
我很确定我遗漏了一些非常明显的东西。
【问题讨论】:
-
那么你的问题是什么?主要类别几乎是另一个类别的两倍大,所以是的,所有分类器都会(并且应该)对它有偏见。
-
那么结果是否表明主要类正态的总偏差?例如,使用 BayesNet,我总是得到这个完全片面的结果,Kappa 统计值为 0。无论我使用什么数据集或指标。这应该如何工作? RandomForest 的结果是可以接受的,我承认,但 BayesNet 难倒我。
-
如果没有完整的数据,很难说发生了什么。这些特征可能无法实现良好的分离(至少就 BayesNet 而言)。我想简短的回答是不要将 BayesNet 用于这个特定的任务:)
-
这就是我要走的路——在这个领域有一个先例,将 NaiveBayes 和 BayesNet 等分类器用于 similar 最终目的,尽管我采用了一种基本不同的方法在这里,这很可能意味着使用这些分类器不是可行的方法。
-
如果你想减少偏差,你可以调整误差权重(例如通过 CostSensitiveClassifier)来补偿不均匀的类分布。
标签: classification weka