Advertisement
sowamaciej

Untitled

Jan 6th, 2021
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. def entropyWeights(arr):
  2. m, n = arr.shape
  3. p = np.zeros((m, n))
  4. e = []
  5. w = []
  6. for i in range(m):
  7. for j in range(n):
  8. p[i][j] = arr[i, j] / sum(arr[:, j])
  9.  
  10. for j in range(n):
  11. sum_e = 0
  12. for row in range(m):
  13. if p[row, j] == 0:
  14. val = 0
  15. else:
  16. val = p[row, j] * math.log(p[row, j])
  17. sum_e = sum_e + val
  18. e.append((-1) * sum_e / math.log(m))
  19.  
  20. for element in e:
  21. subtraction = sum((np.ones(len(e)) - e)[:])
  22. w.append((1 - element) / subtraction)
  23.  
  24. return w
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement