【问题标题】:Why Classification model in weka predicting all instances as one class?为什么 weka 中的分类模型将所有实例预测为一个类?
【发布时间】:2015-07-30 09:30:11
【问题描述】:

我已经使用 weka 建立了一个分类模型。我有两个类,即 {spam,non-spam} 应用 stringtowordvector 过滤器后,我得到了 19000 条记录的 10000 个属性。然后我使用 liblinear 库来构建模型,它给我的 F 分数如下: 垃圾邮件-94% 非垃圾邮件 98%

当我使用相同的模型来预测新实例时,它会将所有这些实例都预测为垃圾邮件。 此外,当我尝试使用与训练集相同的测试集时,它也将它们都预测为垃圾邮件。找到问题我已经筋疲力尽了。任何帮助将不胜感激。

【问题讨论】:

    标签: weka text-classification liblinear


    【解决方案1】:

    我也经常弄错。然后我观看这个视频来提醒自己它是如何完成的:https://www.youtube.com/watch?v=Tggs3Bd3ojQ Witten 教授,Weka 开发人员/架构师之一展示了如何使用 FilteredClassifier(它又被配置为加载 StringToWordVector 过滤器) 在训练数据集和测试集上正确。

    这是针对 weka 3.6、weka 3.7 显示的。可能略有不同。

    ZeroR 给你什么?如果接近 100%,你就知道任何分类算法都应该不会差太多。

    为什么要针对 F-Measure 进行优化?只是问问而已。我从来没有使用过这个,也不太了解它。 (假设您的垃圾邮件比非垃圾邮件多得多,我会针对“精确度”指标进行优化)。

    【讨论】:

    • 我发现了问题。在测试实例时,我没有将字符串应用于词向量过滤器。
    猜你喜欢
    • 2019-06-04
    • 2021-04-22
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    相关资源
    最近更新 更多