以下のリンクより取得した、9種類の植物葉についての64x64の2値化した形態データである。実際にはデータは20種類以上からなるが、そのうち比較的データ数が多いものを善悪し、64x64の画像データに整形した。
ラベルは、
0 Arabidopsis
1 Arabidopsis_asymmetry
2 Brassica_napus
3 Grape
4 Grass
5 Ivy
6 Pepper
7 Tomato
8 Viburnum
である。
MNISTの場合と同様に、上のcsvファイルをダウンロードして適当なフォルダに置いたら、以下のようにして読み込むことが出来る。
#このセルの内容はライブラリのインポートと関数load_csvの定義をもう一回行っているだけで、多くの場合必要ではない。
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
def load_csv(csv):
xx=np.array(pd.read_csv(csv))
x_data=xx[:,1:].astype('float32') / 255
y_data=xx[:,0]
return x_data, y_data
pixel_size=64
xl_train, yl_train=load_csv('./leaf_train.csv')
xl_test, yl_test=load_csv('./leaf_test.csv')
MNISTの数字のデータと区別するために、仮にxl_train, yl_trainなどと「l」を付けておく。間違えなければ何でも良い。まだ、pixel_sizeは64にしておく。
n=xl_train.shape[0]
xl_train2=xl_train[:n,]
yl_train2=yl_train[:n]
n=xl_test.shape[0]
xl_test2=xl_test[:n,]
yl_test2=yl_test[:n]
MNISTの場合と同様に、データの最初のいくつかを表示してみる。
x_img=xf_train.reshape([xf_train.shape[0],pixel_size,pixel_size])
fig = plt.figure(figsize=(12,10))
for i in range(0,25):
axes = fig.add_subplot(5, 5, i%25+1)
axes.imshow(x_img[i,:,:],cmap='gray')