当前位置: 首页 > news >正文

利用ArcGIS对长江三角洲地区的gdp水平进行聚类

1、导入矢量图、数据

在这里插入图片描述
长三角地区矢量图
长三角地区矢量图对应数据

2、连接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、设置属性将人均gdp数据导入

在这里插入图片描述

4、设置标注和图例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择布局视图
在这里插入图片描述

5、聚类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2020年人均gdp地区聚类

6、2005~2020年各地区人均gdp可视化及聚类汇总

(1)2005~2020可视化

2005

在这里插入图片描述

2010在这里插入图片描述

2015

在这里插入图片描述

2020

在这里插入图片描述

(2)根据K-means轮廓系数确定聚类簇数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2015 2010 2015 2020 分别对应的最佳聚类簇数为 2 4 7 5
可以根据这个结果进行分组分析
代码:

import pandas as pd
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
import matplotlib.pyplot as plt# 读取CSV文件
file_path = 'datadata.csv'
data = pd.read_csv(file_path, encoding="GB2312")# 查看数据
print(data.head())# 初始化一个字典来存储各年的轮廓系数
silhouette_scores_dict = {}# 对每一年的GDP数据进行聚类
years = ['2020', '2015', '2010', '2005']for year in years:gdp_data = data[[year]]# 确定最佳K值silhouette_scores = []K = range(2, 11)  # 假设我们考虑2到10个聚类簇for k in K:kmeans = KMeans(n_clusters=k, random_state=42)labels = kmeans.fit_predict(gdp_data)score = silhouette_score(gdp_data, labels)silhouette_scores.append(score)# 保存轮廓系数silhouette_scores_dict[year] = silhouette_scores# 绘制轮廓系数图plt.figure(figsize=(8, 4))plt.plot(K, silhouette_scores, marker='o')plt.xlabel('Number of clusters, K')plt.ylabel('Silhouette Score')plt.title(f'Silhouette Score for K-means Clustering ({year})')plt.savefig(f'silhouette_score_{year}.png')  # 保存图片plt.show()# 找出最佳K值best_k = K[silhouette_scores.index(max(silhouette_scores))]print(f'{year} 年最佳聚类簇数: {best_k}')# 使用最佳K值进行K-means聚类kmeans = KMeans(n_clusters=best_k, random_state=42)labels = kmeans.fit_predict(gdp_data)# 将聚类结果添加到原始数据中data[f'Cluster_{year}'] = labels# 打印聚类结果print(f'{year} 年聚类结果:')print(data[[year, f'Cluster_{year}']].head())# 查看聚类结果
print(data.head())# 保存聚类结果到CSV文件
data.to_csv('clustered_gdp_data.csv', index=False)

(3)根据聚类结果得出聚类可视化及文档

(4)为了方便分析变化 4年都选择簇数为3

2005
在这里插入图片描述
2010
在这里插入图片描述
2015
在这里插入图片描述
2020
在这里插入图片描述

(5)将图片背景设置为透明色

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/366233.html

相关文章:

  • 释放视频潜力:Topaz Video AI for mac/win 一款全新的视频增强与修复利器
  • MongoDB 正则表达式详解:高效数据查询与处理技巧
  • 第二十六章HTML与CSS书写规范
  • 基于FPGA的AD5753(DAC数模转换器)的控制 II(SPI驱动)
  • 【全开源】Java同城服务同城信息同城任务发布平台小程序APP公众号源码
  • [Redis]List类型
  • export 和 export default 的区别
  • 29网课交单平台 epay.php SQL注入漏洞复现
  • 推荐ChatGPT4.0——Code Copilot辅助编程、Diagrams: Show Me绘制UML图、上传PDF并阅读分析
  • rollup.js(入门篇)
  • 【Spring Cloud Alibaba】开源组件Sentinel
  • Android14 WMS-窗口绘制之relayoutWindow流程(一)-Client端
  • JVM学习-Jprofiler
  • Skins
  • 【Meetup】探索Apache SeaTunnel的二次开发与实战案例
  • 嵌入式Linux系统中RTC应用的操作详解
  • Edge 工作区是什么?它都有哪些作用?
  • Docker|了解容器镜像层(1)
  • vue3设置全局变量并获取 全局响应式变量 窗口大小
  • Java——面向对象进阶(一)
  • JDBC是什么?它如何工作?
  • Qt:QDialogButtonBox的使用
  • 38页 | 工商银行大数据平台助力全行数字化转型之路(免费下载)
  • 【Git】如何不管本地文件,强制git pull
  • MySQL 高级 - 第十一章 | 索引优化与查询优化
  • 工厂模式——工厂方法模式+注册表
  • 实验一、网络传输介质————双绞线 《计算机网络》
  • 在Linux/Ubuntu/Debian中使用lshw查看系统信息
  • 提高篇(八):扩展Processing功能:从库使用到跨平台应用
  • ubuntu18.04环境下,arduino ide在打开串口监视器时报错