IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> python实现MAIRCA方法 -> 正文阅读

[人工智能]python实现MAIRCA方法

MAIRCA的基本设置是定义理想和经验之间的差距评级。根据每个标准将差距相加,得出每个备选方案的总差距。对备选方案进行排名是在流程的最后,排名最高的备选方案是差距值最低的备选方案。主要步骤为

1、给出初始矩阵X

2、确定方案P的选择偏好,一般来说决策者中立的情况下,等可能的选择每一个方案,因此有

\begin{aligned} P_{A_i}=\frac{1}{m},i=1,2,\cdots,m \end{aligned}

3、计算理论评级矩阵Tp,也就是常见的矩阵赋权步骤,因为P的每一行元素都相同,因此可以简写为

\begin{aligned} T_p=[P_{A_i}w_1,P_{A_2}w_2,\cdots,P_{A_i}w_n]\end{aligned}

4、计算真实评级矩阵Tr,分情况对矩阵每一个元素计算获得。

对于收益型属性

\begin{aligned} tr_{ij}=tp_{ij}(\frac{x_{ij}-x_i^-}{x_i^--x_i^+}) \end{aligned}

对于成本型属性

\begin{aligned} tr_{ij}=tp_{ij}(\frac{x_{ij}-x_i^+}{x_i^--x_i^+}) \end{aligned}

5、计算总间隙矩阵G,G=Tp-Tr。

6、计算每个方案的在属性下的最终值。

\begin{aligned} Q_i= \sum_{j=1}^n g_{ij}, i=1,2,\cdots, m\end{aligned}

代码如下

# coding=gbk
import pandas as pd
import numpy as np

def maxmin(df,list):#最大最小方法,需要提供收益型成本型的字典方便区分
    for i in range(0,(df.shape[1])):
        if i in list:
            df[i] =(df[i] - df[i].min()) / (df[i].max() - df[i].min())
        else:
            df[i] =(df[i] - df[i].max()) / (df[i].min() - df[i].max())
    return df

if __name__ == '__main__':
    df = pd.DataFrame([[61, 226, 3, 65, 70, 7, 2],
                       [91, 33, 2, 60, 88, 4, 8],
                       [36, 235, 3, 55, 68, 5, 3],
                       [99, 122, 2, 80, 62, 3, 2],
                       [74, 181, 2, 55, 45, 2, 9],
                       [86, 33, 3, 55, 78, 6, 6],
                       [55, 155, 3, 80, 63, 7, 9],
                       [111, 128, 4, 75, 60, 3, 7],
                       [52, 76, 4, 85, 45, 5, 5],
                       [77, 123, 2, 50, 85, 5, 3]])
    p=1/df.shape[0]
    # print(p)
    w_1=[0.1314, 0.2132, 0.1083, 0.0927 ,0.1664, 0.1289 ,0.1591]
    w=np.multiply(p,w_1)
    print(w)
    w_n=np.outer([1,1,1,1,1,1,1,1,1,1],w)
    # print(w_n)
    list=[0,1,2,3,4,5]
    tp=w*maxmin(df,list)
    print(tp)
    tg=pd.DataFrame(w_n)-tp
    print(tg)
    print(tg.sum(1))

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:11:32  更:2022-04-04 12:16:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:29:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码