全面瞭解R語言中的k-means如何聚類?
下面將在iris資料集上演示k-means聚類的過程。
先從iris資料集中移除Species屬性,然後再對資料集iris呼叫函式kmeans,並將聚類結果儲存在變kmeans.result中。
在下面的程式碼中,簇的數目設定為3。
iris2 <- iris
iris2$Species <- NULL
(kmeans.result <- kmeans(iris2, 3))
將聚類結果與類標號(Species)進行比較,檢視相似的物件是否被劃分到同一個簇中。
table(iris$Species, kmeans.result$cluster)
從上面的聚類結果可以看出,setosa類與其他的兩個類很容易就劃分開了,而versicolor類與virginica類之間存在小範圍的重疊。
k-means聚類的結果圖
然後,繪製所有的簇以及簇中心,如圖所示。
注意,資料集有4個維度,而繪圖只使用了前兩個維度的資料。
圖中所示的一些靠近綠色中心(用星號標記)的黑點實際上在4維空間中更靠近黑色中心。
要注意,多次執行得到的k-means聚類結果可能不同,這是因為初始的簇中心是隨機選擇的。
plot(iris2[c("Sepal.Length", "Sepal.Width")], col = kmeans.result$cluster)
# plot cluster centers
先從iris資料集中移除Species屬性,然後再對資料集iris呼叫函式kmeans,並將聚類結果儲存在變kmeans.result中。
在下面的程式碼中,簇的數目設定為3。
iris2 <- iris
iris2$Species <- NULL
(kmeans.result <- kmeans(iris2, 3))
將聚類結果與類標號(Species)進行比較,檢視相似的物件是否被劃分到同一個簇中。
table(iris$Species, kmeans.result$cluster)
從上面的聚類結果可以看出,setosa類與其他的兩個類很容易就劃分開了,而versicolor類與virginica類之間存在小範圍的重疊。
k-means聚類的結果圖
然後,繪製所有的簇以及簇中心,如圖所示。
注意,資料集有4個維度,而繪圖只使用了前兩個維度的資料。
圖中所示的一些靠近綠色中心(用星號標記)的黑點實際上在4維空間中更靠近黑色中心。
要注意,多次執行得到的k-means聚類結果可能不同,這是因為初始的簇中心是隨機選擇的。
plot(iris2[c("Sepal.Length", "Sepal.Width")], col = kmeans.result$cluster)
# plot cluster centers
points(kmeans.result$centers[,c("Sepal.Length", "Sepal.Width")], col = 1:3, pch = 8, cex=2)
相關文章
- 資料分析與挖掘 - R語言:K-means聚類演算法R語言聚類演算法
- k-means聚類聚類
- 【機器學習】K-means聚類分析機器學習聚類
- K-means聚類演算法聚類演算法
- k-means 聚類演算法聚類演算法
- R語言中的生存分析R語言
- 04聚類演算法-程式碼案例一-K-means聚類聚類演算法
- C語言_瞭解一下C語言中的四種儲存類別C語言
- R 語言中取色器
- K-Means聚類演算法原理聚類演算法
- 【Python機器學習實戰】聚類演算法(1)——K-Means聚類Python機器學習聚類演算法
- R語言中的情感分析與機器學習R語言機器學習
- 你正真瞭解C語言中的指標嗎C語言指標
- 聚類演算法與K-means實現聚類演算法
- 從零開始學機器學習——K-Means 聚類機器學習聚類
- R語言中安裝 maptools 包R語言APT
- 在R語言中,因子是什麼R語言
- 【譯文】R語言中的缺失值處理R語言
- R語言中如何獲取幫助資訊,以及今日流水賬R語言
- 演算法雜貨鋪:k均值聚類(K-means)演算法聚類
- R語言中如何抽取向量的偶數項或者奇數項R語言
- R語言中package ‘xxxx’ is not available (for R version 3.2.5)解決R語言PackageAI
- 【R語言入門】R語言中的變數與基本資料型別R語言變數資料型別
- 關於R語言中文公開課R語言
- R語言中的迴圈函式(Grouping Function)R語言函式Function
- R語言中根據列名刪除指定的列R語言
- 機器學習—聚類5-1(K-Means演算法+瑞士捲)機器學習聚類演算法
- 機器學習之k-means聚類演算法(python實現)機器學習聚類演算法Python
- 【R資料科學讀書筆記】R語言中的管道操作資料科學筆記R語言
- k-medoids與k-Means聚類演算法的異同聚類演算法
- 用K-means聚類演算法實現音調的分類與視覺化聚類演算法視覺化
- 在C語言中引入類的概念(轉)C語言
- 淺析Java語言中的內部類Java
- 實踐2:如何使用word2vec和k-means聚類尋找相似的城市聚類
- R語言中管道符號 %>% 的應用 及 舉例R語言符號
- R語言中提取檔名和檔名R語言
- 全面瞭解 jQuery 事件jQuery事件
- C 語言中的 sscanf 詳解