R語(yǔ)言無(wú)監(jiān)督學(xué)習(xí):PCA主成分分析可視化
原文鏈接:http://tecdat.cn/?p=9839
總覽
在監(jiān)督學(xué)習(xí)中,我們通??梢栽L問(wèn)n個(gè)??觀測(cè)值的p個(gè)??特征? 集? ,并?在相同觀測(cè)值上測(cè)得的??Y。
無(wú)監(jiān)督學(xué)習(xí)是一組沒(méi)有相關(guān)的變量??Y的方法。在這里,我們重點(diǎn)介紹兩種技術(shù)…
主成分分析:用于數(shù)據(jù)可視化或在其他監(jiān)督學(xué)習(xí)方法之前進(jìn)行預(yù)處理的工具。
聚類:發(fā)現(xiàn)數(shù)據(jù)中未知組的方法。
無(wú)監(jiān)督學(xué)習(xí)的挑戰(zhàn)
通常,無(wú)監(jiān)督學(xué)習(xí)比主觀學(xué)習(xí)更具挑戰(zhàn)性,因?yàn)樗咧饔^性。分析沒(méi)有簡(jiǎn)單的目標(biāo),例如預(yù)測(cè)響應(yīng)。無(wú)監(jiān)督學(xué)習(xí)通常用作??探索性數(shù)據(jù)分析的一部分。此外,由于沒(méi)有普遍接受的交叉驗(yàn)證或驗(yàn)證方法,因此很難評(píng)估獲得的結(jié)果的準(zhǔn)確性。簡(jiǎn)而言之?,除了簡(jiǎn)單的直覺(jué)或手頭上的過(guò)程的理論知識(shí)外,我們無(wú)法真正? 在無(wú)人監(jiān)督的情況下檢查工作。但是,無(wú)監(jiān)督方法有許多用途:
通過(guò)識(shí)別患者亞組來(lái)了解癌癥行為。
網(wǎng)站(尤其是電子商務(wù))通常會(huì)根據(jù)您之前的活動(dòng)嘗試向您推薦產(chǎn)品。
Netflix電影推薦。
主成分分析
當(dāng)出現(xiàn)大量相關(guān)變量時(shí),主要成分使我們能夠?qū)⒓细爬檩^少數(shù)量的代表變量,這些變量??共同解釋了原始集合中的大多數(shù)可變性。
主成分分析(PCA)是指計(jì)算主成分的過(guò)程,以及隨后在理解數(shù)據(jù)中使用這些成分的過(guò)程。PCA還可以用作數(shù)據(jù)可視化的工具。
什么是主要成分
假設(shè)我們希望通過(guò)?對(duì)一組p個(gè)??特征的測(cè)量值來(lái)可視化??n個(gè)觀測(cè)值,以? 用于探索性數(shù)據(jù)分析的一部分。具體來(lái)說(shuō),我們希望找到一種數(shù)據(jù)的低維表示形式,該表示形式可以捕獲盡可能多的信息。PCA提供了一種執(zhí)行此操作的方法。PCA會(huì)尋求少量盡可能有趣的維度,其中有趣的概念??通過(guò)觀察值在整個(gè)維度上的變化量來(lái)度量。
我們還可以通過(guò)利用主要組件來(lái)衡量丟失了多少信息。為此,我們可以計(jì)算?每個(gè)主成分解釋的方差的??比例(PVE)。通常最好將其解釋為累積圖,以便我們可以可視化每個(gè)成分的PVE和所解釋的總方差。一
確定要使用的主成分?jǐn)?shù)
總的來(lái)說(shuō),我們希望使用最少數(shù)量的主成分來(lái)充分理解數(shù)據(jù)??梢哉f(shuō),做到這一點(diǎn)的最好方法是在scree圖中可視化數(shù)據(jù)? ,我們將在后面演示。它只是累積PVE的圖。與我們選擇其他學(xué)習(xí)技術(shù)的最佳調(diào)整參數(shù)的方式類似,查看百分比變化何時(shí)下降,這樣,添加主要成分并不會(huì)真正增加大量的方差。我們可以結(jié)合一些對(duì)數(shù)據(jù)的理解來(lái)使用這種技術(shù)。
大多數(shù)統(tǒng)計(jì)方法都可以適應(yīng)于使用主成分作為預(yù)測(cè)變量,這有時(shí)會(huì)導(dǎo)致噪聲較小。
可視化
我們執(zhí)行PCA?。
states <- rownames(USArrests)
states
## ?[1] "Alabama" ? ? ? ?"Alaska" ? ? ? ? "Arizona" ? ? ? ?"Arkansas"
## ?[5] "California" ? ? "Colorado" ? ? ? "Connecticut" ? ?"Delaware"
## ?[9] "Florida" ? ? ? ?"Georgia" ? ? ? ?"Hawaii" ? ? ? ? "Idaho"
## [13] "Illinois" ? ? ? "Indiana" ? ? ? ?"Iowa" ? ? ? ? ? "Kansas"
## [17] "Kentucky" ? ? ? "Louisiana" ? ? ?"Maine" ? ? ? ? ?"Maryland"
## [21] "Massachusetts" ?"Michigan" ? ? ? "Minnesota" ? ? ?"Mississippi"
## [25] "Missouri" ? ? ? "Montana" ? ? ? ?"Nebraska" ? ? ? "Nevada"
## [29] "New Hampshire" ?"New Jersey" ? ? "New Mexico" ? ? "New York"
## [33] "North Carolina" "North Dakota" ? "Ohio" ? ? ? ? ? "Oklahoma"
## [37] "Oregon" ? ? ? ? "Pennsylvania" ? "Rhode Island" ? "South Carolina"
## [41] "South Dakota" ? "Tennessee" ? ? ?"Texas" ? ? ? ? ?"Utah"
## [45] "Vermont" ? ? ? ?"Virginia" ? ? ? "Washington" ? ? "West Virginia"
## [49] "Wisconsin" ? ? ?"Wyoming"
數(shù)據(jù)集的列包含四個(gè)變量。
names(USArrests)
## [1] "Murder" ? "Assault" ?"UrbanPop" "Rape"
讓我們來(lái)探討一下數(shù)據(jù)。
kable(summary(USArrests))

?
我們可以看到數(shù)據(jù)具有不同的均值和方差。此外,這些變量是在完全不同的尺度上測(cè)量的。例如??UrbanPop
?,以百分比為單位,每10萬(wàn)個(gè)人測(cè)量次數(shù)。如果我們不對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,那就麻煩了。
執(zhí)行PCA? 提供主成分載荷。

我們已經(jīng)可以確定每個(gè)主成分所代表的內(nèi)容。例如,第一個(gè)部分似乎解釋了與犯罪有關(guān)的信息與城市人口之間的差異。這也是第一個(gè)組成部分,從直觀上來(lái)說(shuō),這是最大的差異。第二部分肯定解釋了城市環(huán)境的影響,第三和第四部分顯示了其他犯罪的區(qū)別。
我們可以繪制第一個(gè)主成分的圖。
Biplot

在這里我們可以看到很多信息。首先查看軸,軸上的PC1?x
?和軸上的? PC2??y
。箭頭顯示了它們?nèi)绾卧趦蓚€(gè)維度上移動(dòng)。黑色狀態(tài)顯示每個(gè)狀態(tài)在PC方向上如何變化。例如,加利福尼亞州既有高犯罪率,又是城市人口最多的國(guó)家之一。
該??$sdev
?屬性輸出每個(gè)組件的標(biāo)準(zhǔn)偏差。每個(gè)分量解釋的方差可以通過(guò)對(duì)這些平方進(jìn)行平方來(lái)計(jì)算:
## [1] 2.4802 0.9898 0.3566 0.1734
然后,為了計(jì)算每個(gè)主成分解釋的方差比例,我們先將其除以總方差。
## [1] 0.62006 0.24744 0.08914 0.04336
在這里,我們看到第一PC解釋了大約62%的數(shù)據(jù),第二PC解釋了大約24%的數(shù)據(jù)。我們還可以繪制此信息。
碎石圖
par(mfrow=c(1,2))
plot(pve, xlab='Principal Component',
ylab='Proportion of Variance Explained',
ylim=c(0,1),
type='b')
plot(cumsum(pve), xlab='Principal Component',
ylab='Cumuative Proportion of Variance Explained',
ylim=c(0,1),
type='b')
