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

熵权法Python代码实现

文章目录

  • 前言
  • 代码
    • 数据
    • 熵权法代码
    • 结果

前言

熵权法做实证的好像很爱用,matlab的已经实现过了,但是matlab太大了早就删了,所以搞一搞python实现的,操作空间还比较大

代码

数据

import pandas as pd
data = [[100,90,100,84,90,100,100,100,100],[100,100,78.6,100,90,100,100,100,100],[75,100,85.7,100,90,100,100,100,100],[100,100,78.6,100,90,100,94.4,100,100],[100,90,100,100,100,90,100,100,80],[100,100,100,100,90,100,100,85.7,100],[100,100,78.6,100,90,100,55.6,100,100],[87.5,100,85.7,100,100,100,100,100,100],[100,100,92.9,100,80,100,100,100,100],[100,90,100,100,100,100,100,100,100],[100,100,92.9,100,90,100,100,100,100]]
data = pd.DataFrame(data)

熵权法代码

from sklearn.preprocessing import MinMaxScaler
import numpy as np# 需要进行评价的特征(一般列名)
selected_features = list(data.columns.values)# 对选取的特征进行归一化
scaler = MinMaxScaler()
norm_data = scaler.fit_transform(data[selected_features]) #定义熵值法函数、熵值法计算变量的权重
def cal_weight(feature_num,sample_num,value):p= np.array([[0.0 for i in range(feature_num)] for i in range(sample_num)])                    for i in range(feature_num):value[:,i] += 1e-10 # 防止log0p[:,i]=(value[:,i])/np.sum(value[:,i],axis=0) # 计算特征值占比e=-1/np.log(sample_num)*sum(p*np.log(p))  #计算熵值g=1-e  # 计算一致性程度w=g/sum(g) #计算权重return wf_num = len(selected_features) # 指标个数
s_num = len(data.index.values) # 方案数、评价主体
w = cal_weight(f_num, s_num, norm_data)
w = pd.DataFrame(w,index=selected_features,columns=['weight']) # 计算出的权重
scores = np.dot(data,w).round(2) # 计算综合分数
result = pd.DataFrame(scores,index=data.index.values,columns=['score']).sort_values(by =['score'],ascending = False) # 对球员的分数进行排名

结果

在这里插入图片描述
在这里插入图片描述
和matlab结果差不多,可能归一化不一样有点差别。

不过这里指标都是正向的,即越大越好,负向指标、区间指标等还并未兼容,以后要是用到了再说吧。

相关文章:

熵权法Python代码实现

文章目录 前言代码数据熵权法代码结果 前言 熵权法做实证的好像很爱用,matlab的已经实现过了,但是matlab太大了早就删了,所以搞一搞python实现的,操作空间还比较大 代码 数据 import pandas as pd data [[100,90,100,84,90,1…...

浏览器提示ERR_SSL_KEY_USAGE_INCOMPATIBLE解决

ERR_SSL_KEY_USAGE_INCOMPATIBLE报错原因 ERR_SSL_KEY_USAGE_INCOMPATIBLE 错误通常发生在使用 SSL/TLS 连接时,指的是客户端和服务器之间进行安全通信尝试失败,原因是证书中的密钥用途(Key Usage)或扩展密钥用途(Extended Key Usage, EKU)与正在尝试的操作不兼容。这意味…...

使用深度学习进行“序列到序列”分类

目录 加载序列数据 定义 LSTM 网络架构 测试 LSTM 网络 此示例说明如何使用长短期记忆 (LSTM) 网络对序列数据的每个时间步进行分类。 要训练深度神经网络以对序列数据的每个时间步进行分类,可以使用“序列到序列”LSTM 网络。通过“序列到序列”LSTM 网络,可以对…...

Python和Java的区别(不断更新)

主要通过几个方面区分Python和Java,让大家有一个对比: 语言类型 Java是一种静态类型、编译型语言。 Python是一种动态类型、解释型语言,注重简洁和灵活的语法。 语法 在Java中,变量需要显式地声明,指定其类型。例如&am…...

Ubuntu22.04 gnome-builder gnome C 应用程序习练笔记(三)

八、ui窗体创建要点 .h文件定义(popwindowf.h)&#xff0c; TEST_TYPE_WINDOW宏是要创建的窗口样式。 #pragma once #include <gtk/gtk.h> G_BEGIN_DECLS #define TEST_TYPE_WINDOW (test_window_get_type()) G_DECLARE_FINAL_TYPE (TestWindow, test_window, TEST, WI…...

vue electron 应用在windows系统上以管理员权限打开应用

打开package.json文件&#xff0c;在build下的win增加配置 "requestedExecutionLevel": "requireAdministrator",...

c实现链表

目录 c实现链表 链表的结构定义&#xff1a; 链表的结构操作&#xff1a; 1、初始化链表 2、销毁链表 3、插入结点 4、输出链表数据 5、查找链表数据 扩展 代码实现 c实现链表 链表的结构定义&#xff1a; /*** 链表结构定义 ***/ typedef struct Node {int data; //…...

力扣231. 2 的幂(数学,二分查找,位运算)

Problem: 231. 2 的幂 文章目录 题目描述思路即解法复杂度Code 题目描述 思路即解法 思路1&#xff1a;位运算 1.易验证2的幂为正数&#xff1b; 2.易得2的幂用二进制表示只能有一个位为数字1 3.即将其转换为二进制统计其二进制1的个数 思路2&#xff1a;数学 当给定数n大于1时…...

Maven私服部署与JAR文件本地安装

Nexus3 是一个仓库管理器&#xff0c;它极大地简化了本地内部仓库的维护和外部仓库的访问。 平常我们在获取 maven 仓库资源的时候&#xff0c;都是从 maven 的官方&#xff08;或者国内的镜像&#xff09;获取。团队的多人员同样的依赖都要从远程获取一遍&#xff0c;从网络方…...

【MySQL】字符串函数的学习

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-J7VN4RbrBi51ozap {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…...

AI助力农作物自动采摘,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建作番茄采摘场景下番茄成熟度检测识别计数分析系统

去年十一那会无意间刷到一个视频展示的就是德国机械收割机非常高效自动化地24小时不间断地在超广阔的土地上采摘各种作物&#xff0c;专家设计出来了很多用于采摘不同农作物的大型机械&#xff0c;看着非常震撼&#xff0c;但是我们国内农业的发展还是相对比较滞后的&#xff0…...

记录下ibus-libpinyin输入法的重新安装

目前的版本为&#xff1a; 首先把现在的ibus-libpinyin卸了 sudo apt-get --purge remove ibus-libpinyin sudo apt-get autoremove 安装教程请参考 Installation libpinyin/ibus-libpinyin Wiki GitHub yilai sudo apt install pkg-config sudo apt-get install lib…...

第三百一十八回

文章目录 1. 概念介绍2. 使用方法2.1 本地缓冲2.2 服务器缓冲3. 示例代码4. 内容总结我们在上一章回中介绍了"如何让输入键盘不遮挡屏幕"相关的内容,本章回中将介绍如何有效地缓冲网络图片.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的…...

破除Github API接口的访问次数限制

破除Github API接口的访问次数限制 1、Github介绍2、Github API接口2.1 介绍2.2 使用方法 3、Github API访问限制3.1 访问限制原因3.2 访问限制类别 4、Github API访问限制破除4.1 限制破除原理4.2 限制破除示例 1、Github介绍 Github&#xff0c;是一个面向开源及私有软件项目…...

蓝桥杯嵌入式第8届真题(完成) STM32G431

蓝桥杯嵌入式第8届真题(完成) STM32G431 题目 分析和代码 对比第六届和第七届&#xff0c;这届的题目在逻辑思维上确实要麻烦不少&#xff0c;可以从题目看出&#xff0c;这届题目对时间顺序的要求很严格&#xff0c;所以就可以使用状态机的思想来编程&#xff0c;拿到类似题…...

第二节 zookeeper基础应用与实战

目录 1. Zookeeper命令操作 1.1 Zookeeper 数据模型 1.2 Zookeeper服务端常用命令 1.3 Zookeeper客户端常用命令 1.3.1 基本CRUD 1.3.2 创建临时&顺序节点 2. Zookeeper JavaAPI操作 2.1 Curator介绍 2.2 引入Curator 2.3 建立连接 2.4 添加节点 2.5 修改节点 …...

改变AI服务器:探索界面互连芯片技术的创新突破

根据TrendForce的数据&#xff0c;AI服务器的出货量约为130,000台&#xff0c;占全球服务器总出货量的约1%。随着微软、Meta、百度和字节跳动等主要制造商相继推出基于生成式AI的产品和服务&#xff0c;订单量显著增加。预测显示&#xff0c;在ChatGPT等应用的持续需求推动下&a…...

【P1506 拯救oibh总部】

拯救oibh总部 题目背景 oibh 总部突然被水淹没了&#xff01;现在需要你的救援…… 题目描述 oibh 被突来的洪水淹没了&#xff0c;还好 oibh 总部有在某些重要的地方起一些围墙。用 * 号表示&#xff0c;而一个四面被围墙围住的区域洪水是进不去的。 oibh 总部内部也有许…...

应用层 HTTP协议(1)

回顾 前面我们说到了数据链路层,网络层IP协议,传输层的TCP/UDP协议一些知识点,现在让我们谈谈 应用层的HTTP协议的知识点. 这篇我们先从大局入手,仍然是对总体报文进行全局分析,再对细节报文进行拆解分析 版本 首先我们谈谈HTTP协议的版本 HTTP 0.9 (1991) HTTP 1.0 (1992 - 1…...

Linux学习笔记(centOS)—— 文件系统

目录 一、Linux中的文件 打开方式 二、目录结构​ 三、相关命令 切换目录命令 列出当前目录下的文件和目录命令 一、Linux中的文件 “万物皆文件。” 图1.1 所有文件 打开方式 图形化界面左上角的位置→计算机&#xff0c;打开以后就可以看到Linux全部的文件了&#xf…...

仓储AGV“大脑“江湖:这家公司拿下37%市场,却仍亏损1.7亿,还马上冲港股

导语大家好&#xff0c;这里是智能仓储物流技术研习社&#xff1a;专注分享智能制造和智能仓储物流等内容。专业书籍&#xff1a;《智能物流系统构成与技术实践》|《智能仓储项目英语手册》|《智能仓储项目必坑手册》|《智能仓储项目甲方必读》|《12大行业智能仓储实战指南》做…...

告别SAP GUI!Notepad++配置ABAP语法高亮,离线查看代码更高效

告别SAP GUI&#xff01;Notepad配置ABAP语法高亮&#xff0c;离线查看代码更高效 对于ABAP开发者而言&#xff0c;代码阅读和分析是日常工作中不可或缺的部分。然而&#xff0c;传统的SAP GUI环境并非总是最便捷的选择——无论是通勤途中、客户现场无系统访问权限&#xff0c;…...

NewJob智能识别插件:求职时间管理的终极解决方案

NewJob智能识别插件&#xff1a;求职时间管理的终极解决方案 【免费下载链接】NewJob 一眼看出该职位最后修改时间&#xff0c;绿色为2周之内&#xff0c;暗橙色为1.5个月之内&#xff0c;红色为1.5个月以上 项目地址: https://gitcode.com/GitHub_Trending/ne/NewJob 在…...

Transformer时代回头看:Layer Norm为何成了BERT、GPT的“标配”组件?

Transformer时代回头看&#xff1a;Layer Norm为何成了BERT、GPT的“标配”组件&#xff1f; 在2017年Transformer架构横空出世之前&#xff0c;深度学习领域已经见证了批量归一化&#xff08;Batch Normalization&#xff09;在计算机视觉任务中的巨大成功。然而当Transformer…...

FPGA QUAD资源优化实战:多Aurora IP核共享时钟与PLL设计

1. 理解FPGA QUAD与Aurora IP核的基础架构 在Xilinx 7系列及后续FPGA架构中&#xff0c;QUAD是高速串行收发器的基本组织单元。每个QUAD包含4个独立的GTP/GTX/GTH通道&#xff08;Channel&#xff09;和1个共享的GT_COMMON模块。这种结构设计既保证了通道独立性&#xff0c;又…...

Vivado 2022.2 中文用户名下,Vscode关联失效的终极修复与Verilog环境配置

Vivado 2022.2中文用户环境下的Vscode-Verilog开发全栈配置指南 当FPGA开发者遇到Windows中文用户名导致的Vivado-Vscode关联失效时&#xff0c;往往需要花费数小时排查环境问题。本文将系统性地解决这一痛点&#xff0c;并提供完整的Verilog开发环境配置方案。 1. 中文路径问题…...

【免费下载】 探索双面神技:STM32G474的USB跨界应用

探索双面神技&#xff1a;STM32G474的USB跨界应用 在物联网与嵌入式开发的世界里&#xff0c;寻找一款能兼顾数据传输与控制沟通的神器是每个开发者的心头好。今天&#xff0c;我们就来揭秘这样一个宝藏项目——STM32G474实现USB的MSCCDC组合功能&#xff0c;它巧妙地将STM32G4…...

ceshi1

进入2026年&#xff0c;企业数字化转型已从“流程数字化”全面转向“认知自动化”。 据最新行业数据显示&#xff0c;企业内部超过85%的数据以PDF、图片、音视频、扫描件等非结构化形式存在。 这些数据曾被视为“沉默的资产”&#xff0c;因为传统OCR或规则引擎难以处理其复杂的…...

Arduino与WS2812B打造智能节日彩灯:从硬件连接到编程实战

1. 项目概述&#xff1a;从零到一&#xff0c;点亮你的节日氛围又到年底了&#xff0c;各种节日接踵而至&#xff0c;无论是圣诞、元旦还是春节&#xff0c;家里总感觉少了点氛围感。买来的成品彩灯&#xff0c;要么模式单一&#xff0c;要么造型固定&#xff0c;总感觉差点意思…...

【程序源代码】校园论坛仿知乎贴吧微信小程序系统(含源码)

关键字&#xff1a;发帖,搜索,校园社区,Vue,服务,系统,管理,springboot,java,h2项目名称&#xff1a;校园论坛&#xff08;仿知乎贴吧&#xff09;微信小程序系统微信小程序校园论坛&#xff08;仿知乎贴吧&#xff09;系统是基于SpringBoot框架开发的一款轻量化校园论坛&#…...