トップページ -> コンピュータ実習 -> Keras の体験,応用例 -> 主成分分析プロット(Keras に付属のデータセット imdb10 など)
[サイトマップへ]  

主成分分析プロット(Keras に付属のデータセット imdb10 など)

サイト構成 連絡先,業績など コンピュータ実習 データの扱い コンピュータ設定 教材(公開) サポートページ

目次

  1. 前準備
  2. データの主成分分析プロット
先人に感謝.

前準備

Python のインストール

TensorFlow, Keras のインストール

Python パッケージのインストール

Windows のときは, コマンドプロンプトを管理者として実行し,次のコマンドを実行

py -m pip install --upgrade pip
pip install -U scikit-learn pandas seaborn 

Ubuntu のときは, 端末で,次のコマンドを実行

sudo python3 -m pip install --upgrade pip
sudo apt-get -yV install python3-sklearn python3-seaborn python3-pandas

データの主成分分析プロット

準備

結果は,画像などでプロットされる場合がある. Python でプロットを行いたい.

※ そのためには, PyCharmなどにある Python コンソールが便利である. (PyCharm を使うときは,必要に応じて,PyCharm で,システムPythonを使う設定を行うこと)

前準備として,Kerasがインストール済みであること.

CIFAR10

keras に付属のデータセットに関する Web ページ: https://keras.io/ja/datasets/

  1. X_train, y_train, X_test, y_testCIFAR 10 データを設定

    次の Python プログラムを実行

    from keras.datasets import cifar10
    (X_train, y_train), (X_test, y_test) = cifar10.load_data()
    
    import numpy as np
    # 2次元の配列. 要素は float32, 最大値と最小値を用いて正規化
    def normalizer(A):
        M = np.reshape(A, (len(A), -1))
        M = M.astype('float32')
        max = M.max(axis=0)
        min = M.min(axis=0)
        return (M - min)/(max - min)
    X_train = normalizer(X_train)
    X_test = normalizer(X_test)
    

  2. X_train, y_train, X_test, y_test の確認表示

    X_train, X_test は主成分分析で2次元にマッピング, y_train, y_test は色.

    import pandas as pd
    import seaborn 
    import sklearn.decomposition
    
    # 主成分分析でプロット
    def pcaplot(A, b, alpha):
        pca = sklearn.decomposition.PCA(n_components=2)
        pca.fit(A)
        a12 = pd.DataFrame( pca.fit_transform(A), columns=['a1', 'a2'] )
        a12['target'] = b
        seaborn.lmplot(x='a1', y='a2', data=a12, hue='target', scatter_kws={'alpha': alpha}, fit_reg=False)
    pcaplot(np.concatenate( (X_train, X_test) ), np.concatenate( (y_train, y_test) ), 0.1)
    

CIFAR100

keras に付属のデータセットに関する Web ページ: https://keras.io/ja/datasets/

  1. X_train, y_train, X_test, y_testCIFAR 100 データを設定

    次の Python プログラムを実行

    from keras.datasets import cifar100
    (X_train, y_train), (X_test, y_test) = cifar100.load_data(label_mode='fine')
    
    import numpy as np
    # 2次元の配列. 要素は float32, 最大値と最小値を用いて正規化
    def normalizer(A):
        M = np.reshape(A, (len(A), -1))
        M = M.astype('float32')
        max = M.max(axis=0)
        min = M.min(axis=0)
        return (M - min)/(max - min)
    X_train = normalizer(X_train)
    X_test = normalizer(X_test)
    

  2. X_train, y_train, X_test, y_test の確認表示

    X_train, X_test は主成分分析で2次元にマッピング, y_train, y_test は色.

    import pandas as pd
    import seaborn 
    import sklearn.decomposition
    
    # 主成分分析でプロット
    def pcaplot(A, b, alpha):
        pca = sklearn.decomposition.PCA(n_components=2)
        pca.fit(A)
        a12 = pd.DataFrame( pca.fit_transform(A), columns=['a1', 'a2'] )
        a12['target'] = b
        seaborn.lmplot(x='a1', y='a2', data=a12, hue='target', scatter_kws={'alpha': alpha}, fit_reg=False)
    pcaplot(np.concatenate( (X_train, X_test) ), np.concatenate( (y_train, y_test) ), 0.1)
    

MNIST

keras に付属のデータセットに関する Web ページ: https://keras.io/ja/datasets/

  1. X_train, y_train, X_test, y_testMNIST データを設定

    次の Python プログラムを実行

    from keras.datasets import mnist
    (X_train, y_train), (X_test, y_test) = mnist.load_data()
    
    import numpy as np
    # 2次元の配列. 要素は float32, 最大値と最小値を用いて正規化
    def normalizer(A):
        M = np.reshape(A, (len(A), -1))
        M = M.astype('float32')
        max = M.max(axis=0)
        min = M.min(axis=0)
        return (M - min)/(max - min)
    X_train = normalizer(X_train)
    X_test = normalizer(X_test)
    

  2. X_train, y_train, X_test, y_test の確認表示

    X_train, X_test は主成分分析で2次元にマッピング, y_train, y_test は色.

    import pandas as pd
    import seaborn 
    import sklearn.decomposition
    
    # 主成分分析でプロット
    def pcaplot(A, b, alpha):
        pca = sklearn.decomposition.PCA(n_components=2)
        pca.fit(A)
        a12 = pd.DataFrame( pca.fit_transform(A), columns=['a1', 'a2'] )
        a12['target'] = b
        seaborn.lmplot(x='a1', y='a2', data=a12, hue='target', scatter_kws={'alpha': alpha}, fit_reg=False)
    pcaplot(np.concatenate( (X_train, X_test) ), np.concatenate( (y_train, y_test) ), 0.1)
    

Fashion MNIST

keras に付属のデータセットに関する Web ページ: https://keras.io/ja/datasets/

  1. X_train, y_train, X_test, y_testFashion MNIST データを設定

    次の Python プログラムを実行

    from keras.datasets import fashion_mnist
    (X_train, y_train), (X_test, y_test) = fashion_mnist.load_data()
    
    import numpy as np
    # 2次元の配列. 要素は float32, 最大値と最小値を用いて正規化
    def normalizer(A):
        M = np.reshape(A, (len(A), -1))
        M = M.astype('float32')
        max = M.max(axis=0)
        min = M.min(axis=0)
        return (M - min)/(max - min)
    X_train = normalizer(X_train)
    X_test = normalizer(X_test)
    

  2. X_train, y_train, X_test, y_test の確認表示

    X_train, X_test は主成分分析で2次元にマッピング, y_train, y_test は色.

    import pandas as pd
    import seaborn 
    import sklearn.decomposition
    
    # 主成分分析でプロット
    def pcaplot(A, b, alpha):
        pca = sklearn.decomposition.PCA(n_components=2)
        pca.fit(A)
        a12 = pd.DataFrame( pca.fit_transform(A), columns=['a1', 'a2'] )
        a12['target'] = b
        seaborn.lmplot(x='a1', y='a2', data=a12, hue='target', scatter_kws={'alpha': alpha}, fit_reg=False)
    pcaplot(np.concatenate( (X_train, X_test) ), np.concatenate( (y_train, y_test) ), 0.1)
    

Boston Housing Price

keras に付属のデータセットに関する Web ページ: https://keras.io/ja/datasets/

  1. X_train, y_train, X_test, y_testBoston Housing データを設定

    次の Python プログラムを実行

    from keras.datasets import boston_housing
    (X_train, y_train), (X_test, y_test) = boston_housing.load_data()
    
    import numpy as np
    # 2次元の配列. 要素は float32, 最大値と最小値を用いて正規化
    def normalizer(A):
        M = np.reshape(A, (len(A), -1))
        M = M.astype('float32')
        max = M.max(axis=0)
        min = M.min(axis=0)
        return (M - min)/(max - min)
    X_train = normalizer(X_train)
    X_test = normalizer(X_test)
    

  2. X_train, y_train, X_test, y_test の確認表示

    X_train, X_test は主成分分析で2次元にマッピング, y_train, y_test は色.

    import pandas as pd
    import seaborn 
    import sklearn.decomposition
    
    # 主成分分析でプロット
    def pcaplot(A, b, alpha):
        pca = sklearn.decomposition.PCA(n_components=2)
        pca.fit(A)
        a12 = pd.DataFrame( pca.fit_transform(A), columns=['a1', 'a2'] )
        a12['target'] = b
        seaborn.lmplot(x='a1', y='a2', data=a12, hue='target', scatter_kws={'alpha': alpha}, fit_reg=False)
    pcaplot(np.concatenate( (X_train, X_test) ), np.concatenate( (y_train, y_test) ), 0.1)