我正在运行Plotting Local Fisher判别分析ldfa {lfda}包,我使用的数据框如下所示:
> dim (df)
[1] 35 415
model <- lfda(df[, 2:ncol(df)], df[, 1], r = 3, metric="plain")
我收到此错误:
Error in getAffinityMatrix(distance2, knn, nc) :
knn is too large, please try to reduce it.
knn是局部缩放方法中使用的参数(默认值:5) 我测试的值低于5(4,3,2,1)但仍然出现另一个错误:
Error in solve.default(tSw) :
system is computationally singular: reciprocal condition number = 1.90897e-24
我不确定问题是什么,我应该做什么
答案 0 :(得分:1)
当其中一个解释变量与响应变量完美关联时,命令lfda
会产生system is computationally singular
错误消息。
在下面的示例中,我考虑iris
数据集:
X <- iris[,-5]
y <- iris[,5]
我生成一个与y
完美关联的X变量:
X$xnew <- (iris[,5]=="virginica")
和lfda
生成错误消息:
result <- lfda(X, y, r=3, metric="plain")
solve.default(tSw)中的错误:系统在计算上是单数的: 互惠条件数= 6.85339e-28
希望这可以帮助您找到问题的解决方案。