原文链接: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 的小数据集深度学习图像分类