聚类分析+因子分析组合模型案例 城市宜居度分类 数学建模竞赛题目+Python源代码_第1页
聚类分析+因子分析组合模型案例 城市宜居度分类 数学建模竞赛题目+Python源代码_第2页
聚类分析+因子分析组合模型案例 城市宜居度分类 数学建模竞赛题目+Python源代码_第3页
聚类分析+因子分析组合模型案例 城市宜居度分类 数学建模竞赛题目+Python源代码_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

聚类分析+因子分析案例:城市宜居度分类问题背景:某研究机构需对20个城市的宜居度分类,指标含8项(如人均GDP、空气质量、教育资源、房价等),指标间存在相关性(如“人均GDP高的城市房价也高”)。数据:20个城市的8项指标数据(标准化后):如人均GDP(0-100分)、空气质量指数(0-100分,值越低越好)等。要求:用因子分析提取2-3个公共因子(如“经济因子”“环境因子”),基于因子得分用K-means聚类为3类,分析每类城市的宜居特征及改进方向。10.聚类分析+因子分析代码:城市宜居度分类importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltfromsklearn.decompositionimportFactorAnalysisfromsklearn.clusterimportKMeansfromsklearn.preprocessingimportStandardScaler#1.数据准备(20个城市的8项指标)np.random.seed(42)n_cities=20#指标:人均GDP(万元)、空气质量指数、教育资源(学校数量)、医疗资源(医院数量)#房价(万元/㎡)、交通便利性(公交站点数)、绿化覆盖率(%)、就业率(%)data=np.array([[8.2,65,120,80,3.5,500,40,92],[6.8,72,95,65,2.8,420,35,88],[9.5,58,150,95,4.2,600,45,94],[5.2,85,70,45,1.9,300,25,82],[7.6,68,110,75,3.2,480,38,90],[4.8,90,65,40,1.7,280,22,80],[8.8,60,130,85,3.8,550,42,93],[5.5,80,75,50,2.1,320,28,83],[7.0,70,100,70,3.0,450,36,89],[6.2,75,85,60,2.5,380,32,86],[10.2,55,160,100,4.5,650,48,95],[4.5,95,60,35,1.5,250,20,78],[8.0,66,115,82,3.4,490,39,91],[5.8,78,80,55,2.3,350,30,85],[6.5,73,90,62,2.7,400,34,87],[9.2,59,140,90,4.0,580,44,93],[5.0,88,68,42,1.8,290,24,81],[7.3,69,105,72,3.1,460,37,89],[8.5,63,125,88,3.7,530,41,92],[6.0,76,88,58,2.4,370,33,84]])cities=[f'城市{i+1}'foriinrange(n_cities)]indicators=['人均GDP','空气质量指数','教育资源','医疗资源','房价','交通便利性','绿化覆盖率','就业率']#2.数据标准化scaler=StandardScaler()data_scaled=scaler.fit_transform(data)#3.因子分析(提取公共因子)fa=FactorAnalysis(n_components=3,random_state=42)factor_scores=fa.fit_transform(data_scaled)#输出因子载荷(反映指标与因子的相关性)loadings=pd.DataFrame(ponents_.T,index=indicators,columns=[f'公共因子{i+1}'foriinrange(3)])print("因子载荷矩阵(指标与公共因子的相关性):")print(loadings.round(3))#4.基于因子得分的聚类分析kmeans=KMeans(n_clusters=3,random_state=42)clusters=kmeans.fit_predict(factor_scores)#5.结果分析result=pd.DataFrame(data,columns=indicators)result['城市']=citiesresult['聚类标签']=clusters#输出各类别城市的特征print("\n各类别城市的平均指标:")forclusterinrange(3):cluster_data=result[result['聚类标签']==cluster]print(f"\n类别{cluster+1}(城市数量:{len(cluster_data)}):")print(cluster_data.iloc[:,:-2].mean().round(2))#6.可视化聚类结果(前2个因子)plt.figure(figsize=(10,6))plt.scatter(factor_scores[:,0],factor_scores[:,1],c=clusters,cmap='viridis',s=100)plt.scatter(kmeans.cluster_centers_[:,0],kmeans.cluster_centers_[:,1],marker='X',s=3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论