R语言使用K-Means聚类可视化WiFi访问
可视化已成为数据科学在电信行业中的关键应用。具体而言,电信分析高度依赖于地理空间数据的使用。
这是因为电信网络本身在地理上是分散的,并且对这种分散的分析可以产生关于网络结构,消费者需求和可用性的有价值的见解。
数据
为了说明这一点,使用k均值聚类算法来分析免费公共WiFi的地理数据。
具体地,k均值聚类算法用于基于与特定提供商相关联的纬度和经度数据来形成WiFi使用的集群。
从数据集本身,使用R提取纬度和经度数据:
#1
newyorkdf <-data.frame(纽约$ LAT,纽约$ LON)
这是一个数据片段:
确定群集的数量
现在,需要使用scree图确定簇的数量。
#2。确定群集的数量
从上面可以看出,曲线在大约11个星团处平稳。因此,这是将在k-means模型中使用的聚类数。
K均值分析
K-Means分析本身是:
ggplot(newyorkdf,aes(x = newyork.LON,y = newyork.LAT,color = newyorkdf $ fit.cluster))+ geom_point()
在数据框newyorkdf中,显示纬度和经度数据以及群集标签:
> newyorkdf
newyork.LAT newyork.LON fit.cluster
1 40.75573 -73.94458 1
2 40.75533 -73.94413 1
3 40.75575 -73.94517 1
4 40.75575 -73.94517 1
5 40.75575 -73.94517 1
6 40.75575 -73.94517 1
.....
80 40.84832 -73.82075 11
81 40.84923 -73.82105 11
82 40.84920 -73.82106 11
83 40.85021 -73.82175 11
84 40.85023 -73.82178 11
85 40.86444 -73.89455 11
这个例子很有用,但理想的情况是将这些集群附加到纽约市本身的地图上。
地图可视化
为了生成纽约市的地图 ,如下所示。
gg +
geom_point(data = newyorkdf,aes(x = newyork.LON,y = newyork.LAT),
color = newyorkdf $ fit.cluster,alpha = .5)+ ggtitle(“纽约公共WiFi”)
运行上述内容后,将生成NYC地图以及相关群集:
这种类型的聚类可以深入了解城市中WiFi网络的结构。例如,群集1中有650个单独的点,而群集6中存在100个点。
这表明由集群1标记的地理区域显示了大量的WiFi流量。另一方面,群集6中较低数量的连接指示低WiFi流量。
K-Means聚类本身并不能告诉我们为什么特定集群的流量高或低。但是,此聚类算法为进一步分析提供了一个很好的起点,并且可以更轻松地收集其他信息,以确定一个地理集群的流量密度可能高于另一个地理集群的原因。