为什么我在 QDA 中排名不足

问题描述 投票:0回答:1

我正在研究来自 Kaggle 的泰坦尼克号泰坦尼克号数据集 (https://www.kaggle.com/c/titanic/data),并且我正在尝试将各种模型应用于该数据集。

在此之前,我对数据集进行了以下修改:

df.train <- dplyr::select(df.train,-PassengerId,-Name,-Ticket,-Cabin)
df.train$Survived <- factor(df.train$Survived)
df.train$Pclass <- factor(df.train$Pclass)
df.train$Parch <- factor(df.train$Parch)
df.train$SibSp <- factor(df.train$SibSp)

我也设定了年龄,我们现在的情况是

anyNA(df.train) == F

因此,当我进行逻辑回归和 LDA 时,一切都正常(即使令人惊讶的是它们提供了完全相同的结果),但是当我尝试时:

qda.model <- qda(Survived~. , data = df.train)

我明白了:

qda.default(x, grouping, ...) 中的错误:groupe 0 n'est pas de rang plein

据我了解,这意味着我有等级不足。

一些在线研究引导我来到这里:https://stats.stackexchange.com/questions/35071/what-is-rank-deficiency-and-how-to-deal-with-it

但我真的看不出数据有什么问题,我有 8 个预测变量和 891 个观测值,没有一个预测变量似乎是其他变量的线性组合..

您能解释一下这个 QDA 出了什么问题吗?

非常感谢!

r machine-learning data-analysis
1个回答
0
投票

我觉得你可以验证你的变量是否确实存在变化。我碰巧有一个变化很小的变量。当我运行 LDA 时,它工作没有问题,但使用 QDA 时,它给了我你提到的错误。我消除了有问题的变量并能够运行这两项分析。

© www.soinside.com 2019 - 2024. All rights reserved.