乐趣区

关于算法:R语言kmeans聚类层次聚类主成分PCA降维及可视化分析鸢尾花iris数据集

原文链接:http://tecdat.cn/?p=22838 

问题:应用 R 中的鸢尾花数据集

(a) 局部:k-means 聚类
应用 k -means 聚类法将数据会聚成 2 组。
 画一个图来显示聚类的状况
应用 k -means 聚类法将数据会聚成 3 组。
画一个图来显示聚类的状况
(b) 局部:档次聚类
应用全连贯法对察看值进行聚类。
应用均匀和单连贯对观测值进行聚类。
绘制上述聚类办法的树状图。
 

问题 01:应用 R 中建设的鸢尾花数据集。

(a):k-means 聚类

探讨和 / 或思考对数据进行标准化。

data.frame("均匀"=apply(iris\[,1:4\], 2, mean
  "标准差"=apply(iris\[,1:4\], 2, sd)

在这种状况下,咱们将标准化数据,因为花瓣的宽度比其余所有的测量值小得多。

应用 k -means 聚类法将数据会聚成 2 组

应用足够大的 nstart,更容易失去对应最小 RSS 值的模型。

kmean(iris, nstart = 100)

画一个图来显示聚类的状况

# 绘制数据
plot(iris, y = Sepal.Length, x = Sepal.Width)

为了更好地思考花瓣的长度和宽度,应用 PCA 首先升高维度会更适合。

#  创立模型

PCA.mod<- PCA(x = iris)

#把预测的组放在最初
PCA$Pred <-Pred

#绘制图表
plot(PC, y = PC1, x = PC2, col = Pred)

为了更好地解释 PCA 图,思考到主成分的方差。

## 看一下次要成分所解释的方差

for (i in 1:nrow) {pca\[\["PC"\]\]\[i\] <- paste("PC", i)
}

plot(data = pca,x = 主成分, y = 方差比例, group = 1)

数据中 80% 的方差是由前两个主成分解释的,所以这是一个相当好的数据可视化。

 应用 k -means 聚类法将数据会聚成 3 组

在之前的主成分图中,聚类看起来非常明显,因为实际上咱们晓得应该有三个组,咱们能够执行三个聚类的模型。

kmean(input, centers = 3, nstart = 100)
# 制作数据
groupPred %>% print()

画一个图来显示聚类的状况

#  绘制数据
plot(萼片长度, 萼片宽度, col =pred)

PCA 图

为了更好地思考花瓣的长度和宽度,应用 PCA 首先缩小维度是比拟适合的。

# 创立模型
prcomp(x = iris)

#把预测的组放在最初
PCADF$KMeans 预测 <- Pred

#绘制图表
plot(PCA, y = PC1, x = PC2,col = "预测 \\n 聚类", caption = "鸢尾花数据的前两个主成分,椭圆代表 90% 的失常置信度,应用 K -means 算法对 2 个类进行预测") +

PCA 双曲线图

萼片长度~ 萼片宽度图的拆散度很正当,为了抉择在 X、Y 上应用哪些变量,咱们能够应用双曲线图。

biplot(PCA)

这个双曲线图显示,花瓣长度和萼片宽度能够解释数据中的大部分差别,更适合的图是:

plot(iris, col = KM 预测)

评估所有可能的组合。

iris %>%
  pivot_longer()  %>% 
plot(col = KM 预测, facet\_grid(name ~ ., scales = 'free\_y', space = 'free_y',) +

档次聚类

应用全连贯法对观测值进行聚类。

能够应用全连贯法对观测值进行聚类(留神对数据进行标准化)。

hclust(dst, method = 'complete')

应用均匀和单连贯对察看后果进行聚类。

 hclust(dst, method = 'average')
hclust(dst, method = 'single')

绘制预测图

当初模型曾经建设,通过指定所需的组数,对树状图切断进行划分。

#  数据
iris$KMeans 预测 <- groupPred


# 绘制数据
plot(iris,col = KMeans 预测))

绘制上述聚类办法的树状图

对树状图着色。

type<- c("均匀", "全", "单")

for (hc in models) plot(hc, cex = 0.3)

 

 


最受欢迎的见解

1. R 语言 k -Shape 算法股票价格工夫序列聚类

2. R 语言中不同类型的聚类办法比拟

3. R 语言对用电负荷工夫序列数据进行 K -medoids 聚类建模和 GAM 回归

4. r 语言鸢尾花 iris 数据集的档次聚类

5.Python Monte Carlo K-Means 聚类实战

6. 用 R 进行网站评论文本开掘聚类

7. 用于 NLP 的 Python:应用 Keras 的多标签文本 LSTM 神经网络

8. R 语言对 MNIST 数据集剖析 摸索手写数字分类数据

9. R 语言基于 Keras 的小数据集深度学习图像分类

退出移动版