導航:首頁 > 數據分析 > 什麼數據適用於r型聚類分析

什麼數據適用於r型聚類分析

發布時間:2023-07-22 11:17:22

㈠ 聚類分析中常見的數據類型有哪些

聚類分析,又稱群分析,即建立一種分類方法:將一批樣品或者指標(變數),按照它們在性質上的親疏、相似程度進行分類。
按其聚類的方法,數據類型有以下六種:
系統聚類分析:開始每個對象自成一類,然後將最相似的兩類合並,合並過後重新計算新類與其它類的距離或相近性程度。這一過程一直繼續下去直到所有的對象歸為一類為止

②調優法(動態聚類法):首先對n個對象進行初步分類,然後根據分類的損失函數盡可能小的原則對其進行調整,直到分類合理為止;
③最優分割法(有序樣品聚類法):開始將所有樣品看成一類,然後根據某種最優准則將他們分割為二類、三類,一直分割到所需要的K類為止;
④模糊聚類法:利用模糊集理論來處理分類的問題,他將經濟領域中最有模糊特徵的兩態數據或多態數據具有明顯的分類效果;
⑤圖論據類法:利用圖論中最小支撐樹的概念來處理分類問題;
⑥聚類預報法:聚類預報彌補了回歸分析和判別分析的不足。
按分類對象的不同:聚類分為R型和Q型

㈡ R語言學習筆記之聚類分析

R語言學習筆記之聚類分析

使用k-means聚類所需的包:

factoextra

cluster#載入包

library(factoextra)

library(cluster)l

#數據准備
使用內置的R數據集USArrests

#load the dataset

data("USArrests")

#remove any missing value (i.e, NA values for not available)

#That might be present in the data

USArrests <- na.omit(USArrests)#view the first 6 rows of the data

head(USArrests, n=6)

在此數據集中,列是變數,行是觀測值
在聚類之前我們可以先進行一些必要的數據檢查即數據描述性統計,如平均值、標准差等

desc_stats <- data.frame( Min=apply(USArrests, 2, min),#minimum

Med=apply(USArrests, 2, median),#median

Mean=apply(USArrests, 2, mean),#mean

SD=apply(USArrests, 2, sd),#Standard deviation

Max=apply(USArrests, 2, max)#maximum

)

desc_stats <- round(desc_stats, 1)#保留小數點後一位head(desc_stats)

變數有很大的方差及均值時需進行標准化

df <- scale(USArrests)

#數據集群性評估
使用get_clust_tendency()計算Hopkins統計量

res <- get_clust_tendency(df, 40, graph = TRUE)

res$hopkins_stat

## [1] 0.3440875

#Visualize the dissimilarity matrix

res$plot

Hopkins統計量的值<0.5,表明數據是高度可聚合的。另外,從圖中也可以看出數據可聚合。

#估計聚合簇數
由於k均值聚類需要指定要生成的聚類數量,因此我們將使用函數clusGap()來計算用於估計最優聚類數。函數fviz_gap_stat()用於可視化。

set.seed(123)

## Compute the gap statistic

gap_stat <- clusGap(df, FUN = kmeans, nstart = 25, K.max = 10, B = 500)

# Plot the result

fviz_gap_stat(gap_stat)

圖中顯示最佳為聚成四類(k=4)

#進行聚類

set.seed(123)

km.res <- kmeans(df, 4, nstart = 25)

head(km.res$cluster, 20)

# Visualize clusters using factoextra

fviz_cluster(km.res, USArrests)

#檢查cluster silhouette圖

Recall that the silhouette measures (SiSi) how similar an object ii is to the the other objects in its own cluster versus those in the neighbor cluster. SiSi values range from 1 to - 1:

A value of SiSi close to 1 indicates that the object is well clustered. In the other words, the object ii is similar to the other objects in its group.

A value of SiSi close to -1 indicates that the object is poorly clustered, and that assignment to some other cluster would probably improve the overall results.

sil <- silhouette(km.res$cluster, dist(df))

rownames(sil) <- rownames(USArrests)

head(sil[, 1:3])

#Visualize

fviz_silhouette(sil)

圖中可以看出有負值,可以通過函數silhouette()確定是哪個觀測值

neg_sil_index <- which(sil[, "sil_width"] < 0)

sil[neg_sil_index, , drop = FALSE]

## cluster neighbor sil_width

## Missouri 3 2 -0.07318144

#eclust():增強的聚類分析

與其他聚類分析包相比,eclust()有以下優點:

簡化了聚類分析的工作流程

可以用於計算層次聚類和分區聚類

eclust()自動計算最佳聚類簇數。

自動提供Silhouette plot

可以結合ggplot2繪制優美的圖形

#使用eclust()的K均值聚類

# Compute k-means

res.km <- eclust(df, "kmeans")

# Gap statistic plot

fviz_gap_stat(res.km$gap_stat)

# Silhouette plotfviz_silhouette(res.km)

## cluster size ave.sil.width

## 1 1 13 0.31

## 2 2 29 0.38

## 3 3 8 0.39

#使用eclust()的層次聚類

# Enhanced hierarchical clustering

res.hc <- eclust(df, "hclust") # compute hclust

fviz_dend(res.hc, rect = TRUE) # dendrogam

#下面的R代碼生成Silhouette plot和分層聚類散點圖。

fviz_silhouette(res.hc) # silhouette plot

## cluster size ave.sil.width

## 1 1 19 0.26

## 2 2 19 0.28

## 3 3 12 0.43

fviz_cluster(res.hc) # scatter plot

#Infos

This analysis has been performed using R software (R version 3.3.2)

閱讀全文

與什麼數據適用於r型聚類分析相關的資料

熱點內容
京東熱點代碼 瀏覽:484
慧博app下載的文件放在哪裡 瀏覽:859
PDF文件橫向太長顯示不出來 瀏覽:974
js緩存文件怎麼打開 瀏覽:983
網頁如何打開編程碼 瀏覽:369
網站被終止安全訪問怎麼辦 瀏覽:672
用微信送達文件 瀏覽:655
win7硬碟安裝文件損壞 瀏覽:394
最終幻想14版本職業 瀏覽:175
紅警2哪個版本好 瀏覽:290
app開發短視頻頁面用什麼技術 瀏覽:471
魅族mx3手機後台運行程序圖標怎麼去掉 瀏覽:344
微信號突然被永久封 瀏覽:298
代碼質量度量模型 瀏覽:338
狗幣doge挖礦教程 瀏覽:976
硬幣問題java 瀏覽:834
什麼能查看csgo戰績app 瀏覽:822
dnf怎麼修復文件損壞 瀏覽:609
ubuntu1004安裝教程 瀏覽:764
華為榮耀a5怎麼刷機教程 瀏覽:982

友情鏈接