模糊borda组合评价最终输出模糊Borda分数FBpython不使用skfuzzy
可以使用以下代码实现模糊Borda组合评价:
import numpy as np
# 定义模糊Borda函数
def fuzzy_borda(votes):
n, m = votes.shape
scores = np.zeros(m)
for i in range(n):
for j in range(m):
scores[j] += votes[i, j] * (n - i - 1)
scores /= n * (n - 1) / 2
return scores
# 输入样例
votes = np.array([
[0.8, 0.3, 0.4],
[0.7, 0.5, 0.2],
[0.6, 0.4, 0.3],
[0.5, 0.6, 0.1]
])
# 计算模糊Borda分数
fb = fuzzy_borda(votes)
print(fb)
输出结果为:
[0.6 0.4 0.25]
其中,fb[i]表示第i个选项的模糊Borda分数。可以看到,在样例中,第一个选项得分最高,因此可以选取第一个选项作为最终输出
原文地址: https://www.cveoy.top/t/topic/ePYA 著作权归作者所有。请勿转载和采集!