python で主成分分析を行う方法のメモ
以下でランダムに生成した10次元のベクトルを2次元に変換します。
以下でランダムに生成した10次元のベクトルを2次元に変換します。
import random import numpy as np from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA # 乱数で 10 次元ベクトル x 1000個を生成 xs = [] for i in range(1000): x = [random.uniform(0, 1) for j in range(10)] xs.append(x) # numpy に変換 xs_ns = np.array(xs) print('元データ(10次元)') print(xs_ns) # 標準化 sc = StandardScaler() xs_std = sc.fit_transform(xs_ns) # PCA で 2次元に縮退 pca = PCA(n_components=2) xs_pca = pca.fit_transform(xs_std) # 2次元ベクトル x 1000個 print('2次元に変換') print(xs_pca)