Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def mahalanobis(data):
- import numpy as np;
- import scipy.spatial.distance;
- avg = 0
- count = 0
- covar = np.cov(data, rowvar=0);
- invcovar = np.linalg.inv(covar)
- for i in range(len(data)):
- for j in range(i + 1, len(data)):
- if(j == len(data)):
- break
- avg += scipy.spatial.distance.mahalanobis(data[i], data[j], invcovar)
- count += 1
- return avg / count
- def normalize(data):
- import numpy as np
- row_sums = data.sum(axis=1)
- norm_data = np.zeros((50, 4))
- for i, (row, row_sum) in enumerate(zip(data, row_sums)):
- norm_data[i,:] = row / row_sum
- return norm_data
- normalizedData = (data - data.mean(axis=0)) / data.std(axis=0, ddof=1)
- from sklearn import datasets
- iris = datasets.load_iris()
- from scipy.spatial.distance import pdist, squareform
- print squareform(pdist(iris.data, 'mahalanobis'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement