自组织地图(SOM)是一种强大的无监督数据可视化工具,它通过降维技术,在较低(通常二维)的空间中有效地展示高维数据集的内在结构和特征。在本文中,我们将详细探讨如何帮助客户利用R语言实现SOM,以可视化银行客户的信用人口属性数据(点击文末“阅读原文”获取完整代码数据)。
相关视频
首先,我们对数据集进行了初步的探索,通过summary(data)
命令获取了数据的统计概览,有助于我们理解数据的分布和特性。然而,由于直接展示原始数据表格较为冗长,此处省略具体统计信息,并通过图片代替,以直观地展示数据的分布情况。
summary(data)
训练SOM
接下来,我们利用SOM算法对数据进行训练。通过设置im = 10, ydim=10, topo="hexagonal"
等参数,我们构建了一个具有10x10网格的六边形拓扑结构的SOM模型。训练过程中,SOM算法通过迭代优化,逐渐将数据点映射到二维网格上的不同位置,形成聚类结构。
im = 10, ydim=10, topo="hexagonal")
查看训练过程的聚类距离
为了评估训练效果,我们查看了聚类过程中的距离变化。通过计算不同迭代次数下聚类中心的距离,我们可以观察到随着训练的进行,聚类中心逐渐趋于稳定,表明SOM模型已经成功捕捉到了数据的内在结构。
对聚类结果进行可视化
随后,我们对聚类结果进行了可视化。通过绘制不同聚类在二维网格上的分布图,我们可以清晰地看到不同类别的客户在信用人口属性上的差异和相似性。
此外,我们还计算了针对不同聚类大小的k均值WCSS(Within-Cluster Sum of Squares)度量。WCSS度量用于评估聚类效果的好坏,通过比较不同聚类数量下的WCSS值,我们可以确定一个理想的聚类数量。我们通过绘制WCSS与聚类数量的关系图,发现当聚类数量为6时,WCSS值达到一个相对较小的稳定点,因此我们将数据划分为6个类别进行后续分析。
plot(1:15, wss, type="b", xlab="N
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例2:https://developer.aliyun.com/article/1501163