我正在與2個變量和2個基團R,即,線性判別分析,判別分析:如何獲取閾重量
ldares <- lda(dat[,2:3], grouping=dat[,1])
接着,我想獲得用於公式將組織分開的決策界限。我知道我可以輸出線性判別的係數與:
coef(ldares)
然而,考慮到綁定的決定是由描述:
a*v1 + b*v2 + c = 0,
我怎麼得到偏置或門檻體重 c?
我正在與2個變量和2個基團R,即,線性判別分析,判別分析:如何獲取閾重量
ldares <- lda(dat[,2:3], grouping=dat[,1])
接着,我想獲得用於公式將組織分開的決策界限。我知道我可以輸出線性判別的係數與:
coef(ldares)
然而,考慮到綁定的決定是由描述:
a*v1 + b*v2 + c = 0,
我怎麼得到偏置或門檻體重 c?
當沒有給出先前的權重時,我相信你會發現c = 0,並且判別分數是基於設置先驗的情況的分佈。可以看到,一個得分結構與一個隱含的C = 0的假設產生預期的分裂中預測與所述虹膜數據集:
require(MASS)
ldares <- lda(iris[ iris[,5] %in% c("setosa", "versicolor"),2:3],
grouping=iris[iris[,5] %in% c("setosa", "versicolor") ,5])
scores <- with(iris[ iris[,5] %in% c("setosa", "versicolor") , 2:3],
cbind(Sepal.Width, Petal.Length) %*% coef(ldares))
with(iris[ iris[,5] %in% c("setosa", "versicolor") , c(2:3, 5)],
plot(Sepal.Width, Petal.Length, col=c("black", "red")[1+(scores>0)]) )
你應該知道的是,LDA是居中的的線性組合變量。因此,判別函數是真的:
\Sigma [w * (x - mean(x))] > 0
,因此:因此
\Sigma [w * x] > \Sigma w * mean(x)
閾值是\西格瑪W *平均值(X)。不幸的是,LDA沒有報告整個數據集的平均值(x),只有兩組平均值。但是這允許我們以相當直觀的方式計算閾值。
假設結果是你的LDA結果,閾值是響應兩個類別的質心之間的中點:
> `sum(result$scaling * result$means[2,] + result$scaling * result$means[1,])/2`
附:請注意,在原始問題w1*a1 + w2*a2 + c = 0
中,閾值爲-c
您的代碼無法運行,因此人們很難提供建議。另外,也許在統計論壇上詢問交叉驗證。 –