In [49]:
from sklearn import preprocessing
from sklearn.kernel_approximation import Nystroem
from sklearn.metrics.pairwise import pairwise_kernels
import numpy as np
import random
from collections import Counter
def fast_cov(X):
# assume...correlation and covariant are interchangeable...
X_scaled = preprocessing.scale(X)
#X_approx_cor = pairwise_kernels(X_scaled.T, metric='cosine')
X_approx_cor = Nystroem("cosine").fit_transform(X_scaled.T)
X_cor = X_approx_cor.dot(X_approx_cor.T)
return X_cor
In [50]:
b = np.random.normal(size=(110, 1100))
In [51]:
XX = fast_cov(b)
In [52]:
XX1 = pairwise_kernels(b.T, metric='cosine')
In [53]:
XX1.shape
Out[53]:
In [54]:
XX.shape
Out[54]:
In [ ]: