カーネル主成分分析(Kernel principal component analysis; kernel PCA)はその名のとおりカーネルを使って主成分分析(PCA)を行う手法.カーネルっていうのは距離みたいなもん(→Kernel trick - Wikipedia).線形主成分分析はデータが元の変数のベクトルの線形結合で表されてるとしているけど,そうでもないときもあるよねってことで,非線形写像して主成分分析する.分散共分散行列の代わりに,各データ間のカーネルを要素とするカーネル行列の固有値固有ベクトルを求めるってこと. Kernel pricipal component analysis - Wikipediaに載ってる画像っぽいのをつくってやってみた.つくったデータ→ kpca.data"x1 x2 class\n".3つのクラス.各クラス100個ずつ. 元データの描画. カーネルは
![Pythonでカーネル主成分分析を実装してみる](https://cdn-ak-scissors.b.st-hatena.com/image/square/0f6e18ae7bb543ab223c7c5cd1f6b44b9193ba17/height=288;version=1;width=512/https%3A%2F%2Fblogger.googleusercontent.com%2Fimg%2Fb%2FR29vZ2xl%2FAVvXsEjSE1hczz17YUY4BUOcg1aZmyxFEdq6BwWopcrsb9Hdj1uo9CDLebtIFwP40ghnoyerLbqaCIUSfkT7N_s7Y3IFpSDhtrvcfNnmIYGI9Z1D66laSAIYI1nNtybpwuudjh8Wgs3crMahX4B-%2Fw1200-h630-p-k-no-nu%2Fbefore.png)