Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # encoding: utf-8
- # -*- encoding : utf-8 -*-
- import numpy as np
- from sklearn.svm import SVC
- from matplotlib.offsetbox import (TextArea, DrawingArea, OffsetImage,
- AnnotationBbox)
- import PIL
- import matplotlib.pyplot as plt
- from sklearn.datasets.base import load_digits
- from sklearn.decomposition import PCA
- #データ準備
- #入力ベクトルデータ
- data = load_digits(n_class = 2)
- X,y = data.data, data.target
- ######
- #学習#
- ######
- #SVMを用意
- clf = SVC()
- #SVMで学習
- clf.fit(X, y)
- #PCAを用意
- pca = PCA(n_components=2)
- #PCAで次元圧縮
- pca.fit(X)
- #PCAの結果を元にデータを変換
- pca_X = pca.transform(X)
- ##################
- #データの可視化#
- ##################
- #グラフを表示する用意
- fig0, (ax0, ax1) = plt.subplots(1,2,figsize=(12,8))
- #PCAデータの点を表示
- ax0.set_title("PCA with Correct ClassLabel")
- ax0.scatter(pca_X[:,0], pca_X[:,1], c=y)
- #SVNデータの点を表示
- Z = clf.predict(X)
- ax1.set_title("PCA with SVN Result ClassLabel")
- ax1.scatter(pca_X[:,0], pca_X[:,1], c=Z)
- #表示をする
- plt.savefig("image.png")
- plt.show()
Add Comment
Please, Sign In to add comment