利用python3进行层次聚类:

层次聚类作为聚类分析方法中的一种,应用较为广泛。
本文所用python代码编辑在Anaconda的Jupyter Notebook中,Anaconda是极为优秀的集成型python环境,拥有丰富的库可满足各种数据分析、数据可视化及机器学习的需要。使用其他python环境的朋友可能需要提前下载分析时常用的库。

数据来源:国家统计局《中华人民共和国2019年国民经济
和社会发展统计公报》
相关链接http://www.stats.gov.cn/tjsj/zxfb/202002/t20200228_1728913.html
利用python3进行层次聚类
接下来,我们对2019年主要国家及地区的进出口情况进行层次聚类。
先从excel导入数据:
利用python3进行层次聚类
看到DataFrame中包含国家及地区的字符串,然后提取用于分析的数据(数值型数据)。因为数据的量纲不同,用sklearn库的preprocessing对数据进行标准化处理。利用python3进行层次聚类
由于数据矩阵小数位太多,看起来比较繁琐,对数据进行四舍五入,保留3位小数。
利用python3进行层次聚类
数据预处理的差不多了,接下来计算距离矩阵,根据距离矩阵聚类:利用python3进行层次聚类
距离矩阵计算结果如下(图为11行11列的矩阵,输出时没展示在同一行中,看起来不太清楚):利用python3进行层次聚类
将聚类结果可视化:
利用python3进行层次聚类
利用python3进行层次聚类
由聚类图可知,欧盟,东盟,韩国,美国,日本(顺序不为排序)为一类,是2019年我国的主要进出口国家及地区,而中国香港、中国台湾、俄罗斯、巴西、印度、南非(顺序不为排序)为另一类,进出口额及增长情况低于第一类。

相关文章: