我正在研究机器学习,并以 LDA 为起点。我正在关注 MatLab 自己的 LDA 分类教程(这里)。
他们使用的是已经在 Matlab 中可用并且可以简单地加载的 fisheriris 数据集。在教程中,他们使用这一行进行分类:
ldaClass = classify(meas(:,1:2),meas(:,1:2),species);
我知道:
分类根据训练数据和标签(第二个和第三个参数)训练分类器,并将分类器应用于测试数据(第一个参数),ldaClass 根据已训练的分类器给出为测试数据点选择的类使用训练数据点和标签
那么提供给分类器进行训练的相同数据是否也用于测试?
我对监督学习的理解是,一旦使用训练集对系统进行训练,就应该使用未知样本对其进行测试以测试其预测。如果从训练集中给它一个测试样本,那么它应该能够正确分类它。正确的?
那怎么进来classify
当相同的样本用于训练和测试时,它会错误分类 20% 的标签,这是怎么回事呢?
要么 LDA 是一个非常差的分类器,要么我不完全理解这里的概念。请帮帮我。