Python TOPSIS 模型实现:步骤、代码及应用
以下是一个使用Python实现TOPSIS模型的示例代码:
import pandas as pd
import numpy as np
# 读取数据
data = pd.read_csv('data.csv')
# 提取决策矩阵
X = data.iloc[:, 1:].values
# 标准化决策矩阵
X = X / np.sqrt(np.sum(X ** 2, axis=0))
# 提取权重向量
w = data.iloc[0, 1:].values
w = w / np.sum(w)
# 提取正负理想解
ideal_best = np.max(X, axis=0)
ideal_worst = np.min(X, axis=0)
# 计算距离
S_best = np.sqrt(np.sum((X - ideal_best) ** 2, axis=1))
S_worst = np.sqrt(np.sum((X - ideal_worst) ** 2, axis=1))
# 计算综合评价指数
C = S_worst / (S_best + S_worst)
# 输出结果
result = pd.DataFrame({'Name': data.iloc[:, 0], 'Score': C})
result = result.sort_values('Score', ascending=False)
print(result)
该代码假设数据已经存储在名为'data.csv'的文件中,文件的第一行是权重向量,第一列是决策名称,其余为决策矩阵数据。代码首先从文件中读取数据,然后将决策矩阵标准化,并提取权重向量和正负理想解。接下来,计算每个决策的距离,并根据距离计算综合评价指数。最后,结果按照综合评价指数降序排列,并输出到控制台。
该代码示例展示了如何使用Python实现TOPSIS模型,并提供了一个基本的应用场景。您可以根据自己的实际需求修改代码,以适应不同的数据和场景。
原文地址: https://www.cveoy.top/t/topic/m19z 著作权归作者所有。请勿转载和采集!