最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

R語言高維數據的主成分pca、 t-SNE算法降維與可視化分析案例報告|附代碼數據

2023-02-01 23:08 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=6592

我們被要求在本周提供一個報告,該報告將結合pca, t-SNE算法等數值方法

降低維度有兩個主要用例:數據探索和機器學習。它對于數據探索很有用,因為維數減少到幾個維度(例如2或3維)允許可視化樣本

然后可以使用這種可視化來從數據獲得見解(例如,檢測聚類并識別異常值)。對于機器學習,降維是有用的,因為在擬合過程中使用較少的特征時,模型通常會更好地概括。

在這篇文章中,我們將研究降維技術:

  • 主成分分析(PCA):?最流行的降維方法

  • 核PCA:PCA的一種變體,允許非線性

  • t-SNE?t分布隨機鄰域嵌入:?非線性降維技術

這些方法之間的關鍵區(qū)別在于PCA輸出旋轉矩陣,可以應用于任何其他矩陣以轉換數據。?

加載數據集

? 我們可以通過以下方式加載數據集:

df <- read.csv(textConnection(f), header=T)# 選擇變量features <- c("Body", "Sweetness", "Smoky", ? ? ? ? ? ?"Medicinal", "Tobacco", "Honey", ? ? ? ? ? ?"Spicy", "Winey", "Nutty", ? ? ? ? ? ?"Malty", "Fruity", "Floral") feat.df <- df[, c("Distillery", features)]

關于結果的假設

在我們開始減少數據的維度之前,我們應該考慮數據。

由于來自鄰近釀酒廠的威士忌使用類似的蒸餾技術和資源,他們的威士忌也有相似之處。
為了驗證這一假設,我們將測試來自不同地區(qū)的釀酒廠之間威士忌特征的平均表達是否不同。為此,我們將進行MANOVA測試:

## ? ? ? ? ? Df Pillai approx F num Df den Df ? ?Pr(>F) ? ?## Region ? ? 5 1.2582 ? 2.0455 ? ? 60 ? ?365 3.352e-05 ***## Residuals 80 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?## ---## Signif. codes: ?0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

檢驗統(tǒng)計量在5%水平上是顯著的,因此我們可以拒絕零假設(區(qū)域對特征沒有影響)。

釀酒廠的地理位置

由于區(qū)域對威士忌起著重要作用,我們將通過繪制其緯度和經度來探索數據集中的釀酒廠所在的位置。以下蘇格蘭威士忌地區(qū)存在:

?

?

PCA

使用PCA可視化威士忌數據集:

?

?

在第二個圖中,我們將繪制釀酒廠的標簽,以便我們可以更詳細地解釋類別。

?

點擊標題查閱往期內容

R語言主成分PCA、因子分析、聚類對地區(qū)經濟研究分析重慶市經濟指標

左右滑動查看更多

01

02

03

04

總的來說,主成分似乎反映了以下特征:

  • PC1表示味道的強度:?如煙熏味,藥用味(如Laphroaig或Lagavulin)與溫和味道(如Auchentoshan或Aberlour)

  • PC2表示味道的復雜性:?即味道特征(例如Glenfiddich或Auchentoshan)與更具特色的味道特征(例如Glendronach或Macallan)

?

## ? Cluster Campbeltown Highlands Islands Islay Lowlands Speyside## 1 ? ? ? 1 ? ? ? ? ? 2 ? ? ? ?17 ? ? ? 2 ? ? 2 ? ? ? ?0 ? ? ? 19## 2 ? ? ? 2 ? ? ? ? ? 0 ? ? ? ? 8 ? ? ? 2 ? ? 1 ? ? ? ?3 ? ? ? 22## 3 ? ? ? 3 ? ? ? ? ? 0 ? ? ? ? 2 ? ? ? 2 ? ? 4 ? ? ? ?0 ? ? ? ?0

對類別的合理解釋如下:

  • 群集1:?復合威士忌,主要來自Highlands / Speyside

  • 群集2:?均衡的威士忌,主要來自斯佩塞德和高地

  • 群集3:?煙熏威士忌,主要來自艾萊島

可視化有兩個有趣的觀察結果:

  • Oban和Clynelish是唯一一個類似于艾萊島釀酒廠口味的高地釀酒廠。

  • Highland和Speyside威士忌主要在一個方面不同。在一個極端是平滑,均衡的威士忌,如Glenfiddich。在另一個極端是具有更有特色的味道,如麥卡倫。

這包含了我們對PCA的可視化研究。我們將在本文末尾研究使用PCA進行預測。

核PCA

內核PCA(KPCA)是PCA的擴展,它利用了內核函數,這些函數在支持向量機上是眾所周知的。通過將數據映射到再現(xiàn)內核Hilbert空間,即使它們不是線性可分的,也可以分離數據。

?

在R中使用KPCA

要執(zhí)行KPCA,我們使用包中的kpca函數kernlab。

使用此核,可以按如下方式減少維數:

?

檢索到新維度后,我們現(xiàn)在可以在轉換后的空間中可視化數據:

?

就可視化而言,結果比我們使用常規(guī)PCR獲得的結果稍微粗糙一些。盡管如此,來自艾萊島的威士忌分離得很好,我們可以看到斯佩塞特威士忌的集群,而高地威士忌則分布較廣。

?

T-SNE

t-SNE已成為一種非常流行的數據可視化方法。

?

使用t-SNE可視化數據

在這里,我們將威士忌數據集的維度降低到兩個維度:

與PCA相比,簇的分離更加清晰,特別是對于簇1和簇2。

對于t-SNE,我們必須進行解釋:

  • V1表示味道復雜性。這里的異常值是右側的煙熏艾萊威士忌(例如Lagavulin)和左側復雜的高地威士忌(例如麥卡倫)。

  • V2表示煙熏/藥用味道。

使用PCA進行監(jiān)督學習

PCA是獨立完成的,這一點至關重要。因此,需要遵循以下方法:

  1. 在測試數據集上執(zhí)行PCA并在轉換后的數據上訓練模型。

  2. 將訓練數據中的學習PCA變換應用于測試數據集,并評估模型在變換數據上的性能。

為此,我們將使用?最近鄰模型。此外,因為所有的變量是在特征空間[0,4]。我們必須優(yōu)化k,因此我們還預留了用于確定此參數的驗證集。

PCA轉換

首先,我們編寫一些函數來驗證預測的性能。

get.accuracy <- <strong>function</strong>(preds, labels) { ? ?correct.idx <- which(preds == labels) ? ?accuracy <- length(correct.idx) / length(labels) ? ?return (accuracy) }

在下面的代碼中,我們將對訓練數據執(zhí)行PCA并研究解釋的方差以選擇合適的維數

## ? ? ? ? [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]## N_dim ? ? ?1 ? ?2 ? ?3 ? ?4 ? ?5 ? ?6 ? ?7 ? ?8 ? ?9 ? ?10 ? ?11 ? ?12## Cum_Var ? 22 ? 41 ? 52 ? 63 ? 72 ? 79 ? 85 ? 90 ? 94 ? ?97 ? ?99 ? 100

由于有足夠百分比的方差用3維可以解釋,我們將使用該值來設置訓練,測試和驗證數據集。

現(xiàn)在我們已經將訓練,驗證和測試集轉換為PCA空間,我們可以使用k最近鄰居。

## [1] "PCA+KNN accuracy for k = 9 is: 0.571"

讓我們研究一下使用PCA的模型是否優(yōu)于基于原始數據的模型:

## [1] "KNN accuracy for k = 7 is: 0.524"

?

# 威士忌特色的方差print(diag(var(data))) ## ? ? ?Body Sweetness ? ? Smoky Medicinal ? Tobacco ? ? Honey ? ? Spicy ## 0.8656635 0.5145007 0.7458276 0.9801642 0.1039672 0.7279070 0.6157319 ## ? ? Winey ? ? Nutty ? ? Malty ? ?Fruity ? ?Floral ## 0.8700410 0.6752394 0.3957592 0.6075239 0.7310534

現(xiàn)在我們只能根據他們的口味確定蘇格蘭威士忌的六個區(qū)域,但問題是我們是否仍能獲得更好的表現(xiàn)。我們知道很難預測數據集中代表性不足的蘇格蘭地區(qū)。那么,如果我們局限于更少的地區(qū),會發(fā)生什么?

  • 島威士忌與艾萊島威士忌組合在一起

  • Lowland / Campbeltown威士忌與Highland威士忌組合在一起

通過這種方式,問題減少到三個區(qū)域:Island / Islay威士忌,Highland / Lowland / Campbeltown威士忌和Speyside威士忌。再次進行分析:

## [1] "PCA+KNN accuracy for k = 13 is: 0.619"

我們可以得出61.9%的準確度,我們可以得出結論,將我們樣品較少的威士忌區(qū)域分組確實是值得的。

KPCA用于監(jiān)督學習

應用KPCA進行預測并不像應用PCA那樣簡單。在PCA中,特征向量是在輸入空間中計算的,但在KPCA中,特征向量來自核希爾伯特空間。因此,當我們不知道所使用的顯式映射函數?,不可能簡單地轉換新數據點。

?

# 注意:這會高估實際效果accuracy <- get.accuracy(preds.kpca, df$Region[samp.test])

?

摘要

我們看到了如何使用PCA,KPCA和t-SNE來降低數據集的維數。PCA是一種適用于可視化和監(jiān)督學習的方法。KPCA是一種非線性降維技術。t-SNE是一種最新的非線性方法,擅長可視化數據,但缺乏PCA的可解釋性和穩(wěn)健性。

這可能表明以下兩點之一:

  1. 嘗試新的的威士忌仍有很大的潛力。

  2. 有很多種味道的組合是可能的,并且很好地結合在一起。

我傾向于選擇第二種選擇。為什么?在PCA圖中,右下角是沒有樣本所在的最大區(qū)域??粗拷@個區(qū)域的威士忌,我們發(fā)現(xiàn)那些是y軸上的Macallan和x軸上的Lagavulin。麥卡倫以其復雜的口味而聞名,Lagavulin以其煙熏味而聞名。

位于二維PCA空間右下方的威士忌將同時具有兩種特性:它既復雜又煙熏。我猜這種具有兩種特性的威士忌對于口感來說太好了。

?

?

?

點擊文末?“閱讀原文”

獲取全文完整代碼數據資料。

本文選自《R語言高維數據的主成分pca、 t-SNE算法降維與可視化分析案例報告》。

點擊標題查閱往期內容

數據分享|R語言用主成分PCA、?邏輯回歸、決策樹、隨機森林分析心臟病數據并高維可視化
R語言邏輯回歸logistic模型分析泰坦尼克titanic數據集預測生還情況R語言是否對二分連續(xù)變量執(zhí)行邏輯回歸
R語言用lme4多層次(混合效應)廣義線性模型(GLM),邏輯回歸分析教育留級調查數據
R語言隨機森林RandomForest、邏輯回歸Logisitc預測心臟病數據和可視化分析
R語言基于Bagging分類的邏輯回歸(Logistic Regression)、決策樹、森林分析心臟病患者
R語言邏輯回歸(Logistic回歸)模型分類預測病人冠心病風險
R語言用局部加權回歸(Lowess)對logistic邏輯回歸診斷和殘差分析R語言用主成分PCA、?邏輯回歸、決策樹、隨機森林分析心臟病數據并高維可視化
R語言用線性模型進行臭氧預測:加權泊松回歸,普通最小二乘,加權負二項式模型,多重插補缺失值R語言Bootstrap的嶺回歸和自適應LASSO回歸可視化
R語言中回歸和分類模型選擇的性能指標
R語言多元時間序列滾動預測:ARIMA、回歸、ARIMAX模型分析
R語言用lme4多層次(混合效應)廣義線性模型(GLM),邏輯回歸分析教育留級調查數據
R語言計量經濟學:虛擬變量(啞變量)在線性回歸模型中的應用
R語言 線性混合效應模型實戰(zhàn)案例
R語言混合效應邏輯回歸(mixed effects logistic)模型分析肺癌數據
R語言如何用潛類別混合效應模型(LCMM)分析抑郁癥狀
R語言基于copula的貝葉斯分層混合模型的診斷準確性研究
R語言建立和可視化混合效應模型mixed effect model
R語言LME4混合效應模型研究教師的受歡迎程度
R語言 線性混合效應模型實戰(zhàn)案例
R語言用Rshiny探索lme4廣義線性混合模型(GLMM)和線性混合模型(LMM)
R語言基于copula的貝葉斯分層混合模型的診斷準確性研究
R語言如何解決線性混合模型中畸形擬合(Singular fit)的問題
基于R語言的lmer混合線性回歸模型
R語言用WinBUGS 軟件對學術能力測驗建立層次(分層)貝葉斯模型
R語言分層線性模型案例
R語言用WinBUGS 軟件對學術能力測驗(SAT)建立分層模型
使用SAS,Stata,HLM,R,SPSS和Mplus的分層線性模型HLM
R語言用WinBUGS 軟件對學術能力測驗建立層次(分層)貝葉斯模型
SPSS中的多層(等級)線性模型Multilevel linear models研究整容手術數據
用SPSS估計HLM多層(層次)線性模型模型R語言高維數據的主成分pca、 t-SNE算法降維與可視化分析案例報告
R語言懲罰logistic邏輯回歸(LASSO,嶺回歸)高維變量選擇的分類模型案例
R語言有RStan的多維驗證性因子分析(CFA)
主成分分析(PCA)原理及R語言實現(xiàn)及分析實例
R語言無監(jiān)督學習:PCA主成分分析可視化
R語言使用Metropolis- Hasting抽樣算法進行邏輯回歸
R語言多元Logistic邏輯回歸 應用案例
R語言自適應LASSO 多項式回歸、二元邏輯回歸和嶺回歸應用分析
R語言用邏輯回歸、決策樹和隨機森林對信貸數據集進行分類預測
R語言基于樹的方法:決策樹,隨機森林,Bagging,增強樹
spss modeler用決策樹神經網絡預測ST的股票
R語言中自編基尼系數的CART回歸決策樹的實現(xiàn)
python在Scikit-learn中用決策樹和隨機森林預測NBA獲勝者
matlab使用分位數隨機森林(QRF)回歸樹檢測異常值
基于隨機森林、svm、CNN機器學習的風控欺詐識別模型
R語言懲罰logistic邏輯回歸(LASSO,嶺回歸)高維變量選擇的分類模型案例
R語言用標準最小二乘OLS,廣義相加模型GAM?,樣條函數進行邏輯回歸LOGISTIC分


R語言高維數據的主成分pca、 t-SNE算法降維與可視化分析案例報告|附代碼數據的評論 (共 條)

分享到微博請遵守國家法律
江安县| 平果县| 威海市| 广饶县| 宜章县| 天峻县| 东源县| 景东| 凌云县| 保德县| 陇西县| 独山县| 会理县| 临武县| 永川市| 建阳市| 麻城市| 任丘市| 潍坊市| 巴南区| 卢龙县| 楚雄市| 连城县| 南溪县| 定边县| 焉耆| 榆树市| 共和县| 淳化县| 承德市| 天柱县| 定日县| 邹城市| 宁武县| 怀柔区| 九江县| 巴彦淖尔市| 南汇区| 徐州市| 尼勒克县| 保康县|