R中的正则化判别分析(RDA)

时间:2014-01-02 03:51:33

标签: r rda

我正在尝试将RDA应用于R中的数据,经过一些研究后我发现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之间,这使我感到困惑。

有人可以帮我解释一下吗?谢谢!

1 个答案:

答案 0 :(得分: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