3

我正在使用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 个。我真的不知道发生了什么,有人可以给我一个例子来说明我应该如何进行这个分析吗?

非常感谢您提前。

4

1 回答 1

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列。显然没有,因此您可以对训练数据进行预测。

于 2013-09-20T15:57:40.760 回答