February 2024
Intermediate to advanced
576 pages
9h 17m
Japanese
ここまでは、教師あり学習推定器(ラベル付き学習データに基づいてラベルを予測する推定器)を詳しく見てきました。ここからは、既知のラベルを参照することなくデータの興味深い側面を明らかにする、教師なし学習推定器について学びます。
この章では、教師なしアルゴリズムの中でおそらく最も広く使用されているアルゴリズムの1つである、主成分分析(PCA:principal component analysis)を紹介します。PCAは基本的に次元削減アルゴリズムですが、可視化、ノイズフィルタリング、特徴抽出、特徴量エンジニアリングなどのツールとしても有益です。PCAアルゴリズムを概念的に説明した後、いくつかの例を探ることにします。
最初に、標準的なモジュールをインポートします。
In [1]: %matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
主成分分析は、データ次元削減のための高速かつ柔軟な教師なし学習手法であり、「38章 scikit-learnの基礎」ですでに簡単に紹介しました。2次元のデータは、振る舞いを最も簡単に可視化できます。200個のデータポイントで考えてみましょう(図45-1を参照)。
In [2]: rng = np.random.RandomState(1)
X = np.dot(rng.rand(2, 2), rng.randn(2, 200)).T
plt.scatter(X[:, 0], X[:, 1])
plt.axis('equal');
図45-1 ...