Skip to content

Instantly share code, notes, and snippets.

@a-mitani
Created February 24, 2019 01:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save a-mitani/7c68b844bd40c6201536be0cd99ea711 to your computer and use it in GitHub Desktop.
Save a-mitani/7c68b844bd40c6201536be0cd99ea711 to your computer and use it in GitHub Desktop.
sklearnを用いた主成分分析:基礎編
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "sklearnによる主成分分析.ipynb",
"version": "0.3.2",
"provenance": [],
"collapsed_sections": [],
"toc_visible": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"metadata": {
"id": "uIt0wlAfuy4A",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"# はじめに\n",
"本Notebookではsklearnを用いてPCAによる次元圧縮の例を示したもの。"
]
},
{
"metadata": {
"id": "tACYTt7CGsEj",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"# 共通関数"
]
},
{
"metadata": {
"id": "xxK5-EZ5Gx79",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"def plot_scatter(X, plot_range, pca=None):\n",
" fig = plt.figure()\n",
" axes = fig.add_subplot(111,aspect='equal')\n",
" axes.scatter(X[:,0],X[:,1])\n",
" axes.set_xlim(plot_range)\n",
" axes.set_ylim(plot_range)\n",
" axes.set_xlabel('0-th')\n",
" axes.set_ylabel('1-th')\n",
" if pca:\n",
" axes.quiver(pca.mean_[0], pca.mean_[1], pca.components_[0,0],pca.components_[0,1], color='red', width=0.01, scale=3)\n",
" axes.quiver(pca.mean_[0], pca.mean_[1], pca.components_[1,0],pca.components_[1,1], color='blue', width=0.01, scale=3)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "4v2iSdCDGlUg",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"# サンプルデータの生成"
]
},
{
"metadata": {
"id": "l3Xk0buOF0Bx",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def create_sample_dataset(min_x, max_x, slope, intercept, n_data):\n",
" x = np.linspace(min_x, max_x, n_data)\n",
" y = slope * x + intercept + np.random.randn(n_data) * 0.1\n",
" X = np.vstack([x, y]).T\n",
" np.random.shuffle(X)\n",
" return X\n",
"\n",
"X_train = create_sample_dataset(0.1, 1.0, 0.7, 0.0, 100)\n",
"X_test = create_sample_dataset(0.1, 1.0, 0.7, 0.0, 100)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "V-kgEFyRjyYU",
"colab_type": "code",
"outputId": "50b9dde1-8c87-41da-c1c4-67725416a810",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 713
}
},
"cell_type": "code",
"source": [
"plot_scatter(X_train, [-0., 1.2])\n",
"plot_scatter(X_test, [-0., 1.2])"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nHwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "fmPh9PO5wuXe",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"# 主成分分析\n",
"skleanのPCAモジュールを利用して主成分分析を実際に行っていく。\n",
"* コンストラクタのパラメータ、`n_components`は残す主成分の数。指定しない場合は元データの次元数となり、次元圧縮しない動きになる。\n",
"* 主成分ベクトルはPCAインスタンスの`components_ `属性に格納される。\n",
" * 寄与率の大きさによってソートされている。\n",
" * ベクトルは正規化済み。\n",
"* 各主成分の寄与率は`explained_variance_ratio_`に格納される。\n",
"\n",
"\n"
]
},
{
"metadata": {
"id": "7xBv10G4GD37",
"colab_type": "code",
"outputId": "8d0c56e1-037a-43dc-fe54-bf2daf314ee1",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 153
}
},
"cell_type": "code",
"source": [
"from sklearn.decomposition import PCA\n",
"pca = PCA(n_components=2)\n",
"pca.fit(X_train)\n",
"\n",
"def explain_n_th_principal_component(n):\n",
" pc_vector = pca.components_[n-1,:]\n",
" print(\"== 第\", n, \"主成分 ==\")\n",
" print(\"ベクトル成分:\", pc_vector)\n",
" print('L2ノルム: ', np.linalg.norm(pc_vector, ord=2))\n",
" print('寄与率', pca.explained_variance_ratio_[n-1])\n",
"\n",
"explain_n_th_principal_component(1)\n",
"explain_n_th_principal_component(2)\n"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"== 第 1 主成分 ==\n",
"ベクトル成分: [0.79483315 0.60682803]\n",
"L2ノルム: 1.0\n",
"寄与率 0.9369477796111689\n",
"== 第 2 主成分 ==\n",
"ベクトル成分: [-0.60682803 0.79483315]\n",
"L2ノルム: 1.0\n",
"寄与率 0.06305222038883108\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "Ig9gF-Xw4uw1",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"※PCAは共分散行列の固有ベクトルを求める問題と同じなので、興味があれば`np.cov`や`linalg.eig`を使って求めたものと上記が一致するかを確認してもよい。\n"
]
},
{
"metadata": {
"id": "fYaGk16y7rZ1",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"主成分ベクトルをプロットしてみる"
]
},
{
"metadata": {
"id": "Nzl48bqpGKtQ",
"colab_type": "code",
"outputId": "1a04158d-3054-4ce6-fd1f-8190c1388a32",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 365
}
},
"cell_type": "code",
"source": [
"plot_scatter(X_train, [0., 1.2], pca=pca)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "MOaxy6zy8jUS",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"データを主成分ベクトルへの射影は、`pca.transform()`関数を使用。\n",
"元の学習データだけでなく、同じ射影をテストデータにも施すことが可能。"
]
},
{
"metadata": {
"id": "qtDorxVpmSbm",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"Xd_train = pca.transform(X_train)\n",
"Xd_test = pca.transform(X_test)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "PWzynS5SA6b3",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"射影結果をプロット(各軸はもとの特徴量ではなく、各主成分ベクトル方向成分であることに注意)\n",
"\n",
"テストデータも同じ射影ができているね。"
]
},
{
"metadata": {
"id": "uNKmXjkhMn9C",
"colab_type": "code",
"outputId": "f0c387cf-c755-4b47-b191-4c7ead65d217",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 713
}
},
"cell_type": "code",
"source": [
"plot_scatter(Xd_train, [-0.8, 0.8])\n",
"plot_scatter(Xd_test, [-0.8, 0.8])"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "u59wrHg8CzsY",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"# 次元圧縮"
]
},
{
"metadata": {
"id": "JMO-3i7kC4CW",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"もし2つめの主成分の寄与率が低く無視できるなら次元圧縮してもよい。\n",
"\n",
"その場合はたとえば射影後のデータの第二主成分部分をゼロに置換する。もしくはPCAのインスタンスをパラメータ`n_component`を指定してもよい。\n",
"\n",
"今回は前者のやり方で。"
]
},
{
"metadata": {
"id": "wdJMaCgbEEtU",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"Xd_train[:, 1] = 0.0\n",
"Xd_test[:, 1] = 0.0"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "ja9fZoc9Eyks",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"もとの空間に戻す(逆射影)\n",
"\n",
"射影の時と同様、テストデータについても可能。"
]
},
{
"metadata": {
"id": "1_dzxbrFE6mu",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"X_train_reduce = pca.inverse_transform(Xd_train)\n",
"X_test_reduce = pca.inverse_transform(Xd_test)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "I5LdwxHUFQzd",
"colab_type": "code",
"outputId": "637f1e92-5b74-482d-da4f-23c003bf7794",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 713
}
},
"cell_type": "code",
"source": [
"plot_scatter(X_train_reduce, [-0.2, 1.2])\n",
"plot_scatter(X_test_reduce, [-0.2, 1.2])"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "nbi3R6AiFbH-",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"第2主成分が抜けたデータが出来上がる。"
]
},
{
"metadata": {
"id": "zCK2Kzh_vI9c",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"# 参考\n",
"\n",
"\n",
"* [PythonでPCAを行う方法@Qiita](https://qiita.com/supersaiakujin/items/138c0d8e6511735f1f45)"
]
},
{
"metadata": {
"id": "udDfAknbvXf0",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment