科学の箱

科学・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

回帰と分類の違い

回帰と分類は両方とも”予測”問題である。予測とは従属変数から目的変数を明らかにする。この目的変数の種類により回帰と分類に分けられる。 回帰では連続した数値を予測する。例えば株価 …

no image

データ取り込み後に確認すること

# tidyデータの原則 # 1カラム = 1変数 # 1行 = 1観察 # 1テーブル = 1 unique key # foreign key to link # テーブル全体で見ること # カラ …

no image

会社を変える分析の力

ユーザに関する問題 不確実性 過剰期待 事前期待 分析モデルの利用 パターン 変数の数 分析の利用 予測 判別 グループ 検知 最適化 発見 探索 データ分析の必要性 なぜ誤差がでるのか Costは …

no image

スピアマンの順位相関

スピアマンの順位相関を利用して県のデータを使った相関係数を出してみる。 持家普及率を自動車普及率のランキングは、土地がせまいほど低く、有効な土地が広いほど高くなるために順位相関があると考えられる。 持 …

no image

kaggle Titanic Tutorial – 3

DecitionTreeのパラメータを調整する。 まずはMaxDepthから from sklearn.model_selection import LeaveOneOut from sklearn. …

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

side bar top



アーカイブ

カテゴリー