• 归一化


    指标一般分为costtype、benefittype,进行归一化的方法不同,最后可以将其转换成0~1之间的数

    import numpy as np
    import xlrd
    from pandas import DataFrame
    def xlrd_read_data(path):
        table = xlrd.open_workbook(path).sheets()[0] #读取第一个表格
        row = table.nrows  # 行数
        col = table.ncols  # 列数
        datamatrix = np.zeros((row, col))#生成一个nrows行ncols列,且元素均为0的初始矩阵
        for x in range(col):
            cols = np.matrix(table.col_values(x))  # 把list转换为矩阵进行矩阵操作
            datamatrix[:, x] = cols # 按列把数据存进矩阵中
        return datamatrix
    def benefit_type(data):#收益型指标
        col=len(data[0])
        row=len(data)
        Max=data.max(axis=0)  #获取每一列的最大值 
        for i in range(col):
            Maxi=Max[i]
            for j in range(row):
                data[j][i]=data[j][i]/Maxi
        return data
    def cost_type(data): #成本型指标
        col=len(data[0])
        row=len(data)
        Min=data.min(axis=0)    
        for i in range(col):
            Mini=Min[i]
            for j in range(row):
                data[j][i]=Mini/data[j][i]
        return data
    path= r'c:UsersLiugengxinDesktop1.xlsx'
    data=xlrd_read_data(path)
    data=benefit_type(data)
    #data=cost_type(data)
    #print(data)
    DataFrame(data).to_excel(r'c:UsersLiugengxinDesktop	est1.xlsx')

     固定型指标

    rij=1-|a0-aij|/max(|a0-aij|)

  • 相关阅读:
    前端试题-CSS试题(1)
    前端学习-jQuery源码学习
    前端-值得抽空看看
    CSS编码规范(转)
    网络-HTTPS科普扫盲贴(转)
    可视化框架设计-序
    G2 DT时代的图形语法 正式发布
    AntV 数据可视化解决方案发布
    开源、免费功能全面的Chart图
    React学习笔记之一
  • 原文地址:https://www.cnblogs.com/Liu269393/p/10281612.html
Copyright © 2020-2023  润新知