为了说明层次聚类技术和k-均值,我使用了了城市温度数据集,其中包括几个城市的月平均气温。

我们有15个城市,每月进行一次观测

boxplot(temp[,1:12],main="月平均温度")

R语言基于温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化_R语言

 

由于方差看起来相当稳定,我们不会将这里的变量“标准化”,

> apply(月份,2,sd)

R语言基于温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化_R语言_02

为了得到一个层次聚类分析,使用实例

 hclust(dist , method = "ward")
 

R语言基于温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化_编程开发_03

另一种选择是使用

 
> plot(h2)

R语言基于温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化_R语言_04

R语言基于温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化_编程开发_05

 

在这里,我们用主成分分析将观察结果可视化。我们这里还有一个自动选择类的数目,这里是3个。我们可以得到组的描述

或直接

 cutree(cah,3)

我们也可以自己可视化这些类,

 PCA(X,scale.unit=FALSE)
 plot(  ind$coord[,1:2],col="white")
 text( ind$coord[,1],acp$ind$coord[,2],
 

可以绘制出这些簇的中心点

 > points(PT$Dim.1,PT$Dim.2,pch=19)

如果我们在这些中心周围添加Voronoi集,我们看到的是中间的点,恰好是三个区域的交点

vormo(PT$Dim.1,PT$Dim.2)
plot(V,add=TRUE)

R语言基于温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化_编程开发_06

 

要可视化这些区域,请使用Voronoi图,它又叫泰森多边形或Dirichlet图,它是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成。

 p=function(x,y){
+   which.min((PT$Dim.1-x)^2+(PT$Dim.2-y)^2)
image(vx,vy,z,col=c(rgb(1,0,0,.2),

R语言基于温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化_R语言_07

 

实际上,这三组(和这三个区域)也是我们用k-均值算法得到的,

kmeans(coord[,1:2],3)

K-means clustering 
with 3 clusters of sizes 3, 7, 5

由于我们有一些空间数据,我们可以在地图上把它们可视化

points(Long,Lati,col=groups.3)

R语言基于温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化_R语言_08

 

或者,为了可视化这些区域,使用

 for(i in 1:3) 
+ Ellipse( Long[groups.3==i],

R语言基于温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化_R语言_09


R语言基于温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化_编程开发_10

最受欢迎的见解

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