numpyを使って主成分分析
古いソースが出てきたので、とりあえずメモ
#coding:utf-8 import numpy #主成分分析関数 def PCA(P): m = sum(P) / float(len(P)) P_m = P - m l,v = numpy.linalg.eig( numpy.dot(P_m.T,P_m) ) return v.T #分析する標本集合 points = numpy.array([ [-1,-2, 1], [ 1, 0, 2], [ 2,-1, 3], [ 2,-1, 2]]) pca = PCA(points) print pca #[[第1主成分],[第2主成分],[第3主成分]...] #[[-0.83339667 -0.33030475 -0.44311259] # [-0.4891064 0.06746508 0.86961106] # [ 0.25734204 -0.94146016 0.21777935]]