文章目录

  • 第一步 导入第三方库和案例数据
  • 第二步 标准化数据
  • 第三步 训练模型
  • 第四步 计算主成分个数
    • 方式1 按特征值计算主成分个数
    • 方式2 按累积贡献率计算主成分个数
  • 第五步 计算主成分系数
  • 第六步 计算主成分得分
  • 第七步 计算综合得分
  • 第八步 导出综合评价结果
  • 下期预告: P y t h o n 综合评价模型(五)德尔菲法 \textcolor{RoyalBlue}{下期预告 : Python综合评价模型(五)德尔菲法} 下期预告:Python综合评价模型(五)德尔菲法
  • 关注公众号“ T r i H u b 数研社”发送“ 230305 ”获取案例数据和代码 \textcolor{RoyalBlue}{关注公众号“TriHub数研社”发送“230305”获取案例数据和代码} 关注公众号“TriHub数研社”发送“230305”获取案例数据和代码

主成分分析法是通过降维把多个评价指标转化为少数几个综合指标从而对评价对象进行综合评价的方法

提取的主成分的个数一般不超过5-6个

提取的主成分的累积贡献率一般不低于80-85%

第一步 导入第三方库和案例数据

import numpy as np
import pandas as pd
from sklearn.decomposition import PCA
#按指定路径导入数据,以“地区”为索引(文件路径需按实际情况更换)
data = pd.read_excel(r'C:/Users/AROUS/Desktop/综合评价数据.xlsx', index_col = '地区')
data

第二步 标准化数据

#定义z-score标准化函数
def z_score(x): return (x - x.mean()) / x.std()
#使用z-score标准化函数标准化数据
data_z = data.apply(z_score, 0)
data_z

第三步 训练模型

pca = PCA().fit(data_z)

第四步 计算主成分个数

方式1 按特征值计算主成分个数

#输出特征值
pca.explained_variance_
#计算特征值大于1的主成分个数
n_components = (pca.explained_variance_ > 1.0).sum()
n_components

方式2 按累积贡献率计算主成分个数

#输出方差贡献率
pca.explained_variance_ratio_
#输出累积方差贡献率
pca.explained_variance_ratio_.cumsum()
#计算累积方差贡献率大于0.8的主成分个数
n_components = np.argmax(pca.explained_variance_ratio_.cumsum() >= 0.8) + 1
n_components

第五步 计算主成分系数

#n_components参数用于设置需保留的主成分个数,默认为None(即保留全部主成分),案例保留2个主成分
pca = PCA(n_components = n_components).fit(data_z)
pca.components_

第六步 计算主成分得分

F1=0.3967×生产总值+0.2874×从业人员+0.3074×固定资产+0.4011×利用外资+0.3789×进出口额+0.3864×新品出口+0.3846×市场占有+0.2527×对外依存

F2=-0.2064×生产总值-0.5209×从业人员-0.4819×固定资产-0.0094×利用外资+0.3104×进出口额+0.1216×新品出口+0.2104×市场占有+0.5461×对外依存

col_name = ['F{}'.format(i+1) for i in range(n_components)]
pca_transform = pd.DataFrame(pca.transform(data_z), columns = col_name, index = data.index)
data = pd.concat([data, pca_transform], axis=1)
data

第七步 计算综合得分

#使用方差贡献率作为主成分权重
w = pca.explained_variance_ratio_
w
data['主成分分析法得分'] = data.iloc[:, -2:].dot(w)
data

第八步 导出综合评价结果

data.to_excel('主成分分析法综合评价结果.xlsx', index = True)

下期预告: P y t h o n 综合评价模型(五)德尔菲法 \textcolor{RoyalBlue}{下期预告 : Python综合评价模型(五)德尔菲法} 下期预告:Python综合评价模型(五)德尔菲法

关注公众号“ T r i H u b 数研社”发送“ 230305 ”获取案例数据和代码 \textcolor{RoyalBlue}{关注公众号“TriHub数研社”发送“230305”获取案例数据和代码} 关注公众号“TriHub数研社”发送“230305”获取案例数据和代码

Python综合评价模型(四)主成分分析法相关推荐

  1. Python综合评价模型(三)秩和比法

    文章目录 第一步 导入第三方库和案例数据 第二步 标准化数据 第三步 编秩 第四步 计算秩和比 方式1 计算秩的简单平均(评价指标权重相等) 方式2 计算秩的加权平均(评价指标权重不等) 第五步 导出 ...

  2. Python综合评价模型(二)灰色关联度法

    文章目录 第一步 导入第三方库和案例数据 第二步 标准化数据 第三步 确定参考数列 第四步 计算指标数列与参考数列的差(绝对值) 第五步 计算灰色关联系数 第六步 计算灰色关联度 方式1 求灰色关联系 ...

  3. Python综合评价模型(五)专家评分法

    文章目录 第一步 导入第三方库和案例数据 第二步 标准化数据 第三步 计算权重 第四步 计算综合得分 第五步 导出综合评价结果 下期预告: P y t h o n 综合评价模型(六)层次分析法 \te ...

  4. Python综合评价模型(七)变异系数法

    目录 第一步 导入第三方库和案例数据 第二步 标准化数据(min-max标准化) 第三步 计算评价指标的变异系数 第四步 计算评价指标的权重 第五步 计算综合得分 第六步 导出综合评价结果 下期预告: ...

  5. python解析原理_主成分分析法原理及其python实现

    主成分分析法原理及其python实现 前言: 这片文章主要参考了Andrew Ng的Machine Learning课程讲义,我进行了翻译,并配上了一个python演示demo加深理解. 本文主要介绍 ...

  6. 数学建模系列-评价模型(四)---主成分分析法

    主成分分析法可以理解为层次分析法的一种衍生,是为了舍去无用或者效用较少的参数来达到拟合的目的,为了简化计算. 主成分与原始变量之间的关系: ​ (1)主成分保留了原始变量绝大多数信息. ​ (2)主成 ...

  7. 主成分分析法(PCA)的理解(附python代码案例)

    目录 一.PCA简介 二.举个例子 三.计算过程(公式) 3.0 题干假设 3.1 标准化 3.2 计算协方差矩阵 3.3 计算特征值和特征值向量 3.3 多重共线性检验(可跳过) 3.4 适合性检验 ...

  8. 数学建模——TOPSIS综合评价模型Python代码

    数学建模--TOPSIS综合评价模型Python代码 正常代码 import numpy as np # 导入numpy包并将其命名为np ##定义正向化的函数 def positivization( ...

  9. 一文速学数模-降维模型(一)PCA(主成分分析法)原理以及应用+代码实现

    目录 前言 一.为什么需要PCA?(为什么要降维) 二.PCA简介 三.PCA算法推导 1.投影 2.基 3.基变换的矩阵表示 ​编辑 4.方差 5.协方差 6.协方差矩阵 7.特征值与特征向量 8. ...

最新文章

  1. Attention is all your need 谷歌的超强特征提取网络——Transformer
  2. GPS服务端解析程序编写日记
  3. Linux C : 进程管理实验:创建进程、上下文切换
  4. php软件升级管理系统,POSCMS开源内容管理系统 v3.6.1 升级说明
  5. electron知识点
  6. 话里话外:家族化管理模式和职业化管理模式孰优孰劣
  7. 通过html直接显示txt内容_10分钟教你用Python爬取Baidu文库全格式内容
  8. logstash-input-jdbc 同步mysql数据到es
  9. 【Java从0到架构师】SpringMVC - 特殊的请求参数
  10. python画简便的图-最适合小白学的花色玩Python折线图|画个天气预报
  11. c语言程序设计abcd拍大小,《C语言程序设计》选择、填空。热门考题
  12. 拜托!你真会用线程池吗?
  13. 20190415 - iOS11 无法连接到 App Store 的解决办法
  14. asp.net 网页做一个浮动层_网页的布局与定位看完这篇就够了
  15. 软件测试考证:ISTQB、软件评测师
  16. 利用Gecco爬取(蚂蚁短租网)列表页数据
  17. latex normal是几号字_LaTeX 中英文字体字号设置
  18. 使用qemu进行路由器环境的虚拟搭建
  19. Dubbo服务暴露流程
  20. 入行月薪过万的数据挖掘必看的学习建议!

热门文章

  1. 免费大学生简历模板下载,500套精美大学生个人简历模板下载(求职、考研)
  2. 三洋p6系列伺服电机说明书_2-30N.m 50N.m伺服电机扭力测试仪器价格大概多少
  3. python中的thread_python 线程(thread)
  4. C语言基础——字符串指针(指向字符串的指针)
  5. 欧姆龙OMRON Sysmac Studio工程怎么删除用户程序执行ID
  6. 第十届蓝桥杯c语言试题,第十届蓝桥杯真题编程题1-7解析(高级组).pdf
  7. 易语言实现网页自动刷新
  8. 《Spring实战》读书笔记-第3章 高级装配
  9. 装机员Ghost Win10 RS1 1607 64位装机贺岁版2017
  10. STM32 E18-D80NK红外检测