如何用熵权法计算权重,熵权法计算方法

  如何用熵权法计算权重,熵权法计算方法

  【Python】熵权法权重计算基于Python分步实现,代码在pycharm上执行。

  目录[Python]熵权法计算权重1。导入到库2。读取数据3。熵值法本体4。打印出每个指标的权重5。将结果保存在csv文件中以便汇总。

  1.导入库将所需的库导入pycharm。

  importadasasportnumpyasnpimportmathfromnpmpiportarray 2。读取数据文件名是文件的路径。

  #读取数据df=PD.read_CSV(文件名。CSV)数据预处理,删除空值的记录df.dropna )3 .熵值法主体定义熵值法函数。

  Cal _ weight (x):是标准化的,这里用的是阈值法。

  #标准化x=x . apply(x:(x-NP . min(x))NP . max(x)),熵中的常数k

  # rows cols=x . columns . size # columns k=1.0/math . log(rows)lnf=[none]* cols=x . columns . size #获取熵值中的常数k

  #矩阵计算-#信息熵x=array(x)lnf=[none]* colsforinrange(rows)]lnf=array(lnf)for iinrange(0,rows) 33666

  #通过计算冗余度d=1-e.sum(轴=0)来计算权重

  #计算每个指标的权重w=[[None]* 1 for iinrange(Cols)]for j in range(0)0,Cols)3360 wj=d[j]/sum(d)w[j]=wjw=poles计算要打印if__name_=)的df中每个字段的权重w=cal _ weights 1=NP . array(w)w)weights=weight(df)Mode= a a :将数据添加到csv文件中,每行# header=true: column name

如何用熵权法计算权重,熵权法计算方法