科学の箱

科学・IT・登山の話題

機械学習

手書き数字のデータセットについてイメージを確認

投稿日:

sklearnには手書き数字のデータが用意されている。このデータはイメージの分類モデルを学ぶためによいスタートである。今回はこのバイナリデータを読み込み、イメージとして確認する。

内容
  • load_digitsによりデータを読み込み
  • イメージの検証

load_digitsによりデータを読み込み

sklearn.datasets.load_digits — scikit-learn 0.21.3 documentation

# イメージデータの読み込みおよび確認
from sklearn.datasets import load_digits
digits = load_digits()
print(digits.data.shape)

# (1797, 64)

 

さてこのデータはイメージデータ(バイナリ)である。ここには1797個のデータがある。一つのデータは8×8=64個の数値から成り立っている。

print(digits.data)

# 
[[ 0.  0.  5. ...  0.  0.  0.]
 [ 0.  0.  0. ... 10.  0.  0.]
 [ 0.  0.  0. ... 16.  9.  0.]
 ...
 [ 0.  0.  1. ...  6.  0.  0.]
 [ 0.  0.  2. ... 12.  0.  0.]
 [ 0.  0. 10. ... 12.  1.  0.]]

これはイメージデータの配列である。pythonではイメージを表示してくれるpyplot.matshow()を使ってイメージを表示する。

import matplotlib.pyplot as plt 
%matplotlib inline
plt.gray()
plt.matshow(digits.images[0]) 
plt.show()

 

また戻り値は辞書型に類似しており、targetにイメージの値が入っている。

print(digits.target)
# [0 1 2 ... 8 9 8]

 

イメージの俯瞰

イメージとtargetを組み合わせて、load_digitで読み込んだデータを最初の100個について俯瞰してみる。

fig, axes = plt.subplots(10, 10, figsize=(8, 8),subplot_kw={'xticks':[], 'yticks':[]})
for i, ax in enumerate(axes.flat):
    ax.imshow(digits.images[i], cmap='binary', interpolation='nearest')
    ax.text(0, 0, str(digits.target[i]))

まずsubplotsによりfigure(これはプロットするエリア全体), axes(座標軸であり、サブプロットはこのaxesに沿って設定する)を取得する。サブプロットの数は10×10=100である。全体のサイズはfigsize=(8,8)である。これは8inch x 8inchを意味する。サブプロットの形式としてxticksとyticksを消している。

次にaxes.flatをイテレータとする繰り返し処理をしている。

for i, ax in enumerate(axes.flat):

ax.imshowを使って、画像をサブプロットに設定する。またax.textにより各サブプロットの左上に数字を表示する。

 

 

メタ情報

inarticle



メタ情報

inarticle



-機械学習
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

SIGNATE お弁当の需要予測-1

SIGNATEのコンペであるお弁当の需要予測をpythonで分析 データは下記から取得できる https://signate.jp/competitions/24 ライブラリ読み込み importnu …

no image

判別式

判別式の手順 散布図をプロットしてみてグループに分けることができるかを検討する 判別式のモデル(線形判別、マハラノビスなど)を検討する データを読み込み判別式テンプレートを作成する 判別式を作成する …

no image

AWStatで基本指標を読む

ウェッブサイトの分析でまず見るべきことは月ごとのトレンドである。確認すべき指標はPV, 訪問数、UUdとなる。 AWStatではこれらの項目はWhen -> Month Historyで棒グラフ …

no image

SVMでグリッドサーチ

IrisデータについてSVMで分類をしてみた。さて、今回はSVMモデルのパラメータをいじってみてより精度が高いモデルを作ってみる。 すべての学習モデルはハイパーパラメータと呼ばれる学習モデルに影響を与 …

no image

線形回帰と最急降下法

線形回帰 世の中の様々な出来事(y)はある事象(x)に対して比例することが多い。もちろん厳密に比例するわけではなくずれは生じる。しかしこのxとyが比例すると仮定した場合、中学校で習った一次式でこの関係 …

2019年10月
« 9月   11月 »
 123456
78910111213
14151617181920
21222324252627
28293031  

side bar top



アーカイブ

カテゴリー