【问题标题】:plsregress - can anyone explain the normalisation of features?plsregress - 任何人都可以解释特征的规范化吗?
【发布时间】:2016-04-21 02:31:18
【问题描述】:

在执行 LDA 之前,我在 matlab 中使用 plsregress 作为特征缩减方法。我正在尝试交叉验证我的方法,但是在复制他们的“数据处理”阶段时遇到了一些麻烦。

plsregress 使用 SIMPLS 算法,首先将 X 和 Y 居中,减去列均值,得到居中的变量 X0 和 Y0。但是,它不会重新调整列。要使用标准化变量执行 PLS,请使用 zscore 对 X 和 Y 进行归一化。

为了尝试在我的“测试”集上复制它,我做了以下操作:

test = test - repmat(mean(test), DIM(1), 1);

test = Xloadings\test';
test = test';

由于某种原因,这不太奏效,当应用于训练集时,我没有达到相同的 Xscores。

有没有人能解释我是否遗漏了一个步骤,或者我做错了什么?

编辑:换句话说,我如何将 PLS 生成的模型应用到另一个数据集?

【问题讨论】:

    标签: matlab machine-learning cross-validation


    【解决方案1】:

    我认为您需要使用训练集中的平均值,而不是测试集。 这也适用于 sigma 的归一化。

    使用 [Z,mu,sigma] = zscore(train)。应用 mu 和 sigma 进行测试。

    【讨论】:

      猜你喜欢
      • 2011-03-31
      • 1970-01-01
      • 2019-12-29
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多