Guest User

Untitled

a guest
May 24th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.17 KB | None | 0 0
  1. # encoding: utf-8
  2. # -*- encoding : utf-8 -*-
  3. import numpy as np
  4. from sklearn.svm import SVC
  5.  
  6. from matplotlib.offsetbox import (TextArea, DrawingArea, OffsetImage,
  7. AnnotationBbox)
  8. import PIL
  9. import matplotlib.pyplot as plt
  10. from sklearn.datasets.base import load_digits
  11. from sklearn.decomposition import PCA
  12.  
  13. #データ準備
  14. #入力ベクトルデータ
  15. data = load_digits(n_class = 2)
  16. X,y = data.data, data.target
  17.  
  18. ######
  19. #学習#
  20. ######
  21. #SVMを用意
  22. clf = SVC()
  23. #SVMで学習
  24. clf.fit(X, y)
  25.  
  26. #PCAを用意
  27. pca = PCA(n_components=2)
  28. #PCAで次元圧縮
  29. pca.fit(X)
  30. #PCAの結果を元にデータを変換
  31. pca_X = pca.transform(X)
  32.  
  33. ##################
  34. #データの可視化#
  35. ##################
  36.  
  37. #グラフを表示する用意
  38. fig0, (ax0, ax1) = plt.subplots(1,2,figsize=(12,8))
  39.  
  40. #PCAデータの点を表示
  41. ax0.set_title("PCA with Correct ClassLabel")
  42. ax0.scatter(pca_X[:,0], pca_X[:,1], c=y)
  43.  
  44. #SVNデータの点を表示
  45. Z = clf.predict(X)
  46. ax1.set_title("PCA with SVN Result ClassLabel")
  47. ax1.scatter(pca_X[:,0], pca_X[:,1], c=Z)
  48.  
  49. #表示をする
  50. plt.savefig("image.png")
  51. plt.show()
Add Comment
Please, Sign In to add comment