【问题标题】:TreeBagger() (MATLAB) and different number of variables on train and test setTreeBagger() (MATLAB) 以及训练集和测试集上不同数量的变量
【发布时间】:2016-03-26 15:20:00
【问题描述】:

我正在使用 MATLAB 函数 TreeBagger() 进行随机森林分类,进行分配。当Test数据的变量数与Training数据的变量数不同时会报错。

我被告知,变量选择应该只在训练数据上进行,而不是在测试数据上进行,这样测试数据就不会有偏差。因此,在将初始数据集(50 个变量)拆分为训练集和测试集后,我对训练集执行变量选择(独立性卡方检验)。因此训练集包含 37 个变量,而测试集仍然包含 50 个变量。

我使用TreeBagger() 训练训练集,然后使用测试集进行预测(函数predict())。我得到一个错误,因为测试集的变量数量与模型训练的变量数量不同。

只对训练集进行变量选择有错吗?有没有办法使用这个函数进行预测?

【问题讨论】:

    标签: matlab machine-learning random-forest


    【解决方案1】:

    所选变量是最终模型的一部分。 这意味着最终模型在您想使用它时只能使用在训练集上选择的变量。 因此,在应用您的 TreeBagger 模型之前,您会过滤掉未选择的变量,然后将其应用到您的测试集上获得预测。

    【讨论】:

    • 谢谢!一开始我就完全理解错了。
    猜你喜欢
    • 2015-01-17
    • 2015-07-20
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    • 2017-06-11
    • 1970-01-01
    • 2020-10-05
    相关资源
    最近更新 更多