科学の箱

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

R Dataset – AirPassengers

データの説明 1949~1960年における月別飛行機搭乗者数 フォーマット このデータは時系列データであることがわかる。 > str(AirPassengers)  Time-Series [1 …

no image

仕事で始める機械学習 – 1. 機械学習プロジェクトの始め方

機械学習プロジェクトの流れ 問題の定式化 機械学習を利用しない方法 システム設計 アルゴリズム選定 特徴量・教師データ・ログの設計 前処理 学習・パラメータチューニング システム統合 問題の定式化 目 …

no image

pythonのデータ分析ライブラリで遊んでみる。

こちらを参考にしてPythonのデータ分析用のライブラリをそろえてみた。 まずはお手軽にヒストグラムを書いてみる。コマンドラインからipythonを立ち上げる。 ipython –pylab &#8 …

no image

Core Concept in Data Analysis – Week 4

Contingency Table : 分割表 Nominal : 名目 (カテゴリカル) Taxon : 分類 Marginal : 周辺 Conditional Probability : 条件付 …

no image

dataanalysis-002-week3

exploratory analysis グラフの目的 データのおおよそを理解する パターンを探す モデリングを探す デバッグ コミュニケーション boxplot 値のレンジを確認する 他の値とレンジ …

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

side bar top



アーカイブ

カテゴリー