0

我正在尝试在 R 中的数据上应用 RDA,经过一些研究后,我发现 R 中有一个名为“rda”的包,它似乎可以为我完成这项工作。但是,我查看了该包中 RDA 函数的描述,现在我有点困惑:

R中给出的用法:

rda(x, y, xnew=NULL, ynew=NULL, prior=table(y)/length(y),alpha=seq(0, 0.99, len=10), delta=seq(0, 3, len=10), regularization="S", genelist=FALSE, trace=FALSE)

我不确定在这种情况下“alpha”和“delta”代表什么。我被告知在 RDA 中有两个参数“lambda”和“sigma”,其中 lambda 是一个复杂性参数,它决定了线性和二次判别分析之间的平衡,而 sigma 是另一个进一步规范协方差矩阵的参数。它们都在 0 和 1 之间。

但是对于 R 中的这个“rda”函数,delta 的默认值在 0 到 3 之间,这让我很困惑。

谁能帮我解释一下?谢谢!

4

1 回答 1

0

您可以使用具有与您描述的类似的正则化参数参数化klaR功能的包。rda

 detach(package:rda)     
 require(klaR)
 data(iris)
 x <- rda(Species ~ ., data = iris, gamma = 0.05, lambda = 0.2)
 predict(x, iris)

混合这两个包不是一个好主意(某些功能的命名空间问题),rda如果你想使用klaR(或相反)最好分离。

于 2014-01-02T05:45:05.513 回答