【问题标题】:Weka: Does training helps if test run is followed by training run?Weka:如果测试运行之后是训练运行,那么训练有帮助吗?
【发布时间】:2013-10-12 12:30:52
【问题描述】:

我有一个疑问。我理解了交叉验证和拆分概念,分类器将从训练数据中学习并测试测试数据拆分。

如果我首先使用“使用训练数据”运行分类,然后在分类选项卡中使用“提供的测试集”选项并再次运行,是否会发生同样的事情。

为了在分类选项卡中更清楚,我运行了两次...首先在预处理选项卡下上传训练数据集,然后在分类选项卡“提供的测试集”选项中上传测试集运行。那么在对测试数据执行时,模型是否使用之前完成的训练?

我使用了朴素贝叶斯分类器。我也怀疑所有分类器都是从训练数据中学习的,还是只是像神经网络、决策树这样的分类器?

【问题讨论】:

    标签: classification weka bayesian


    【解决方案1】:

    您在“分类选项卡”中提到的选项允许您选择如何评估已构建的模型。每次您在分类选项卡中按下“开始”时,都会构建一个新的分类器。对于您列出的选项,此分类器将使用“预处理”选项卡中的整个当前数据集。 无论您提供测试数据集还是使用训练数据,都将构建相同的分类器。 Weka 在构建新分类器时不会使用先前构建的分类器中的任何信息,至少以您描述的方式。

    两种测试方式的区别如下:

    1. “使用训练数据”将使用构建的分类器来预测训练实例。此选项通常会给出对分类器未来性能的过于乐观的估计。

    2. “提供的测试集”将使用独立的测试集。鉴于此测试集是以公平的方式构建的,您应该获得对分类器未来性能的无偏估计。

    为了解决您的最后一个问题,大多数分类器都尝试从训练数据中导出模型。这通常被认为是学习。但是,一些分类器,例如 IBk,不会诱导模型,而是使用训练数据本身来进行未来预测。这些都是相当不错的点,最好只是说所有 Weka 分类器都会根据训练数据做出预测。

    【讨论】:

    • 我明白你的意思。但我找到了一种使用相同训练模型在测试数据上运行的方法。步骤见下文: 1)在训练数据上运行分类器。运行后,它会出现在结果节点中。 2) 使用“Supplied test set”选项提供测试数据。 3) 现在在结果部分下选择之前为训练数据运行的模型。右键单击它并选择“在当前测试集上重新评估模型”选项。
    • 很高兴知道这是一个选项。当然,执行该过程不会改变模型的构建方式,只会改变模型的评估方式。使用“选择使用训练集”构建模型,然后说使用提供的测试集重新评估会创建与首先选择“提供的测试集”相同的模型。
    猜你喜欢
    • 2011-05-13
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 2012-12-04
    相关资源
    最近更新 更多