【发布时间】:2014-09-08 11:19:06
【问题描述】:
我正在研究机器学习,并以 LDA 作为起点。我正在关注 MatLab 自己的 LDA 分类教程 (Here)。
他们使用的是已经在 Matlab 中可用并且可以简单地加载的 fisheriris 数据集。在教程中,他们使用这一行进行分类:
ldaClass = classify(meas(:,1:2),meas(:,1:2),species);
我知道:
classify 根据训练数据和标签训练分类器 (第二个和第三个参数),并将分类器应用于测试 数据(第一个参数)和 ldaClass 给出了选择的类 测试数据点,基于已使用训练的分类器 训练数据点和标签
那么提供给分类器进行训练的相同数据是否也用于测试?
我对监督学习的理解是,一旦使用训练集对系统进行训练,就应该使用未知样本对其进行测试以测试其预测。如果从训练集中给它一个测试样本,那么它应该能够正确分类它。对吧?
那么classify 怎么会在相同的样本用于训练和测试时错误分类了 20% 的标签?
要么 LDA 是一个非常糟糕的分类器,要么我没有完全理解这里的概念。请帮帮我。
【问题讨论】:
标签: matlab machine-learning classification lda test-data