日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 实现 熵值法 确定指标权重

發布時間:2023/12/31 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 实现 熵值法 确定指标权重 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

步驟:

設指標共p個,評價對象共g個,則構成評價值(得分)矩陣如下:

xj(i)表示評價對象j在指標i上的評價值,j=1,2,...,g i=1,2,...,p

指標i對應的熵值為ei的計算公式如下:

根據熵值來計算指標i的權重wi,計算公式如下:

?

?程序:

(4個指標,3個評價對象)

import mathclass entropyMethod:def __init__(self, array):self.array = arraydef getEntropy(self):entropy_list = []for j in range(len(self.array[0])):list1 = []for i in range(len(self.array)):x1 = self.array[i][j] * math.log(self.array[i][j])list1.append(x1)entropy = (-sum(list1)) / math.log(len(self.array))entropy_list.append(entropy)return entropy_listdef getWeight(self):weight_list = []entropy_list = self.getEntropy()entropyReciprocal_list = []for entropy in entropy_list:entropyReciprocal_list.append(1/entropy)for entropy in entropy_list:weight = (1 / entropy) / sum(entropyReciprocal_list)weight_list.append(weight)return weight_list if __name__ == '__main__':matrix = [[90,95,94,85],[86,58,72,91],[88,15,95,92],]entropy_list = entropyMethod(matrix).getEntropy()weight_list = entropyMethod(matrix).getWeight()for weight_list in weight_list:print(weight_list)

結果:

????????結果和熵值法基本思想一致,即離散程度越大的指標,其權重應越大。程序的舉的例子中矩陣第2列(即第2個指標的離散程度最大),可以發現該指標的權重結果也越大,結果約0.358?

總結

以上是生活随笔為你收集整理的python 实现 熵值法 确定指标权重的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。