R - 训练和验证样本中的线性判别分析

时间:2013-09-20 15:37:58

标签: r validation

我正在使用lda命令来分析2列234行数据集(x):列X1包含预测变量(度量),列X2包含自变量(分类,4类)。我想通过使用150个观测值建立线性判别模型,然后使用其他84个观测值进行验证。在对数据进行随机分区之后,我分别得到x.build和x.validation,分别为150和84个观测值。我运行以下

fit = lda(x.build$X2~x.build$X1, data=x.build, na.action="na.omit")

然后我像这样运行预测命令:

pred = predict(fit, newdata=x.validation)

从阅读命令描述我认为在pred$class我会根据建立的模型得到验证数据的分类,但我得到了150个观察的分类,而不是我打算用作的84个验证数据。我真的不知道发生了什么,有人可以举个例子来说明我应该如何进行这种分析吗?

非常感谢你。

1 个答案:

答案 0 :(得分:2)

请改为尝试:

fit = lda(X2~X1, data=x.build, na.action="na.omit")
pred = predict(fit, newdata=x.validation)

如果在构建模型时使用此公式x.build$X2~x.build$X1,则预测验证数据中的x.build$X1列。显然没有一个,所以你可以预测训练数据。