机器学习玩转大数据Python语言与信息数据获取和机器学习

熵权法的pytho

2016-11-08  本文已影响1249人  d33911380280
Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png

借鉴上述对熵权法的介绍和实例讲解,用python实现求解,主要利用的是numpy的矩阵计算。

# -*- coding: utf-8 -*-
"""
Created on Mon Nov  7 11:08:54 2016

@author: debin Lu
"""
import numpy as np
import pandas as pd
fp="d:/shangquan.xlsx"
data=pd.read_excel(fp,index_col=None,header=None,encoding='utf8')
#data = (data - data.min())/(data.max() - data.min())
m,n=data.shape
#第一步读取文件,如果未标准化,则标准化
data=data.as_matrix(columns=None)
#将dataframe格式转化为matrix格式
k=1/np.log(m)
yij=data.sum(axis=0)
pij=data/yij
#第二步,计算pij
test=pij*np.log(pij)
test=np.nan_to_num(test)
ej=-k*(test.sum(axis=0))
#计算每种指标的信息熵
wi=(1-ej)/np.sum(1-ej)
#计算每种指标的权重
上一篇下一篇

猜你喜欢

热点阅读