WEKA - 过滤掉 MultiClassClassifer 中的类
Posted
技术标签:
【中文标题】WEKA - 过滤掉 MultiClassClassifer 中的类【英文标题】:WEKA - filtering out classes in a MultiClassClassifer 【发布时间】:2016-06-24 10:28:33 【问题描述】:我已经训练了一个MultiClassClassifier
(经过测试,工作正常)并将其保存在我的硬盘驱动器的某个位置。现在我想对我得到的一个新样本进行预测。我加载我的应用程序,我的分类器自动加载它。在分类过程之外,我已经将样本的搜索范围缩小到五个 5 个可能的类别。这意味着,我知道k
类,可以在分类中轻松避免。
是否可以在使用之前过滤 MultiClassClassifier(过滤掉所有不需要的类)?
如果是? Weka 方法可以用于此目的吗? 如果没有,是否有改动。解决办法?
我想通过将关注范围缩小到 n
类中的 5 个类来提高分类器的准确性。
我找到了如何过滤Instances
对象,但似乎找不到适合MultiClassClassifer
的方法。
我要操作的数据是/是我的测试Instances
和我的MultiClassClassifier
。
提前谢谢你。
【问题讨论】:
【参考方案1】:实际上并没有办法修改现有的 MultiClassClassifier 以排除类。但是,根据您使用的基础分类器,您可以尝试使用.distributionForInstance
,它会输出一个置信度分数向量,每个类别一个。然后,您可以选择得分最高的课程,忽略不在目标集中的课程的分数。
【讨论】:
感谢您的快速响应。我正在使用 MultiClassClassifier 并启用了选项 SMO 和逻辑模型 (-M) 拟合。 它应该可以工作 - 我之前使用了带有 SMO MultiClassClassifier 的 distributionForInstance 并且它可以工作。试一试。 到时一定会试一试的。将尽快报告。谢谢。 我已经对其进行了编码,它看起来真的很脏。忽略分布,尤其是数字在k
类之间平均分布的情况有点讨厌。例如,我有一个样本有 20% 分布到正确分类的类别。如此低的分布确实表明对分类程序的怀疑。确实应该有一种过滤分类器的方法,因此distributionForInstance
方法可以在这些情况下正确使用。再次感谢您的时间和解释。将密切关注更多解决方案。希望有一天,会有人解决这个烂摊子。以上是关于WEKA - 过滤掉 MultiClassClassifer 中的类的主要内容,如果未能解决你的问题,请参考以下文章