溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何理解R語言分類算法中的線性判別分析

發(fā)布時間:2021-11-22 10:57:11 來源:億速云 閱讀:326 作者:柒染 欄目:云計算

如何理解R語言分類算法中的線性判別分析,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1.線性判別原理解析
基本思想是”投影”,即高緯度空間的點向低緯度空間投影,從而簡化問題的處理.在原坐標(biāo)系下,空間中的點可能很難被分開,如圖8-1,當(dāng)類別Ⅰ和類別Ⅱ中的樣本點都投影至圖中的”原坐標(biāo)軸”后,出現(xiàn)了部分樣本點的”影子”重合的情況,這樣就無法將分屬于這兩個類別的樣本點區(qū)分開來;而如果使用如圖8-2中的”投影軸”進行投影,所得到的”影子”就可以被”類別劃分線”明顯地區(qū)分開來.
費希爾判別最重要的就是選擇出適當(dāng)?shù)耐队拜S,對該投影軸方向上的要求是:保證投影后,使每一類之內(nèi)的投影值所形成的類內(nèi)離盡可能小,而不同類之間的投影值所形成的類間距離差盡可能大.
對線性判別來說,線將樣本點投影到一維空間,即直線上,若效果不明顯,則可以考慮增加一個緯度,即投影到二維空間,依此類推.
而二次判別(Quadratic Discriminant Analysis,QDA)與線性判別(Linear Discriminant Analysis,LDA)的區(qū)別就在于投影面的形狀不同,二次判別使用若干次曲面,而非直線或平面來將樣本劃分至相應(yīng)的類別中.二次判別函數(shù)是一種常用的非線性判別函數(shù).
如何理解R語言分類算法中的線性判別分析
2.在R語言中的應(yīng)用
MASS包是Modern Applied Statistics with S 的縮寫,即S語言在現(xiàn)代統(tǒng)計中的應(yīng)用。線性判別分析(LDA)主要用到了lda(formula,data,…,subset,na.action)函數(shù),二次判別分析(QDA)則用到了qda(formula,data,…,subset,na.action)函數(shù)。
3.以iris數(shù)據(jù)集為例進行線性判別分析
1)應(yīng)用模型并查看模型的相應(yīng)參數(shù)

library(MASS) fit_lda1=lda(Species~.,data_train) fit_lda1

如何理解R語言分類算法中的線性判別分析


2)查看模型的輸出結(jié)果

fit_lda1[1:length(fit_lda1)]

如何理解R語言分類算法中的線性判別分析


3)做出模型圖

plot(fit_lda1)

如何理解R語言分類算法中的線性判別分析

plot(fit_lda1,dimen=1)

如何理解R語言分類算法中的線性判別分析


4)對data_test進行預(yù)測,并觀察預(yù)測結(jié)果

pre_ldal=predict(fit_lda1,data_test) pre_ldal[1:length(pre_ldal)]

如何理解R語言分類算法中的線性判別分析


5)評測預(yù)測結(jié)果

table(data_test$Species,pre_ldal$class)
error_lda1=sum(as.numeric(as.numeric(pre_ldal$class)!=as.numeric(data_test$Species)))/nrow(data_test)

如何理解R語言分類算法中的線性判別分析

關(guān)于 如何理解R語言分類算法中的線性判別分析問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI