Machine learning LDA作为分区之前或之后的降维

Machine learning LDA作为分区之前或之后的降维,machine-learning,computer-vision,classification,Machine Learning,Computer Vision,Classification,我正在进行分类,我有一个关于使用LDA进行降维的问题: LDA是否应应用于整个特征矩阵,包括列车和测试数据,然后(在降低数据维度后)对特征矩阵进行划分,以提供列车和测试集进行分类?这是真的吗 然后,假设我们需要在应用LDA之前对数据进行分区如何使用Matlab的内部分类器(如kNN和SVM)对测试数据进行分类?您应该在列车上生成LDA,然后将其应用于测试集 原因是您不想检查整个处理链如何处理看不见的数据。如果您在列车/测试中生成LDA模型,则可能不太重要的信息会消失 实际上,如果你确定了尺寸的数

我正在进行分类,我有一个关于使用LDA进行降维的问题:

LDA是否应应用于整个特征矩阵,包括列车和测试数据,然后(在降低数据维度后)对特征矩阵进行划分,以提供列车和测试集进行分类?这是真的吗


然后,假设我们需要在应用LDA之前对数据进行分区如何使用Matlab的内部分类器(如kNN和SVM)对测试数据进行分类?

您应该在列车上生成LDA,然后将其应用于测试集

原因是您不想检查整个处理链如何处理看不见的数据。如果您在列车/测试中生成LDA模型,则可能不太重要的信息会消失


实际上,如果你确定了尺寸的数量,你应该进行一次训练/测试/验证分离。确定列车/测试的最佳尺寸数。然后在列车上建立LDA+模型,并进行测试和验证评估。

谢谢@CAFEBABE。使用Matlab内部SVM和KNN;那么,我如何将数据分为训练和测试,以及在使用训练数据上的LDA找到投影矩阵后,如何将该矩阵应用于测试数据?我的意思是,如何使用Matlab内部分类器实现这种方法?你能帮忙吗?嗨,对不起,我不熟悉Matlab。但是,这应该会帮助您“在使用fitcdiscr训练ClassificationDiscriminant模型对象后,使用函数predict和训练过的模型对象生成C代码,用于预测新数据的标签。有关详细信息,请参阅代码生成。”因此,基本上在火车上执行fitcdiscr。使用预测对测试进行评估