Advertisement
Guest User

Untitled

a guest
Jan 19th, 2014
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. def mahalanobis(data):
  2. import numpy as np;
  3. import scipy.spatial.distance;
  4. avg = 0
  5. count = 0
  6.  
  7. covar = np.cov(data, rowvar=0);
  8. invcovar = np.linalg.inv(covar)
  9.  
  10. for i in range(len(data)):
  11. for j in range(i + 1, len(data)):
  12. if(j == len(data)):
  13. break
  14. avg += scipy.spatial.distance.mahalanobis(data[i], data[j], invcovar)
  15. count += 1
  16. return avg / count
  17.  
  18.  
  19. def normalize(data):
  20. import numpy as np
  21. row_sums = data.sum(axis=1)
  22. norm_data = np.zeros((50, 4))
  23. for i, (row, row_sum) in enumerate(zip(data, row_sums)):
  24. norm_data[i,:] = row / row_sum
  25. return norm_data
  26.  
  27. normalizedData = (data - data.mean(axis=0)) / data.std(axis=0, ddof=1)
  28.  
  29. from sklearn import datasets
  30. iris = datasets.load_iris()
  31. from scipy.spatial.distance import pdist, squareform
  32. print squareform(pdist(iris.data, 'mahalanobis'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement