Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def entropyWeights(arr):
- m, n = arr.shape
- p = np.zeros((m, n))
- e = []
- w = []
- for i in range(m):
- for j in range(n):
- p[i][j] = arr[i, j] / sum(arr[:, j])
- for j in range(n):
- sum_e = 0
- for row in range(m):
- if p[row, j] == 0:
- val = 0
- else:
- val = p[row, j] * math.log(p[row, j])
- sum_e = sum_e + val
- e.append((-1) * sum_e / math.log(m))
- for element in e:
- subtraction = sum((np.ones(len(e)) - e)[:])
- w.append((1 - element) / subtraction)
- return w
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement