mkgreiさんが説明されていますが一応回答として書いておきます。
Kerasでやってみる場合について説明します。またMNISTのデータセットの形状がどのようになっているかを説明してから質問者様が作ろうとしているデータセットについて説明します。
ゼロから作るディープラーニングではMNISTを使用し、データセットの作成が記述されておらず関数を使用してデータセットをダウンロードする方式だったので、データ・セットを作るやり方が記述されておりませんでした。
まずMNISTのデータセットはどうなっているか確認してみましょう。
python
1from keras.datasets import mnist
2from keras.utils import np_utils
3import numpy as np
4from pprint import pprint
5
6#Kerasでmnistをloadするとラベルをフラットにしてくるので整形しています
7nb_classes = 10
8y_train = np_utils.to_categorical(y_train, nb_classes)
9y_test = np_utils.to_categorical(y_test, nb_classes)
10pprint(x_train.shape)
11pprint(y_train.shape)
12pprint(x_test.shape)
13pprint(y_test.shape)
14# 1枚取り出してみる
15pprint(y_train[0])
16pprint(np.argmax(y_train[0]))
17
18"""
19~~訓練データ~~
20画像のほうは28*28が6万枚あります
21(60000, 28, 28)
22画像1枚に対応するラベルのほうは0~9までの数字が10パターンありかつ6万個あります
23(60000, 10)
24~~テストデータ~~
25テストのほうは枚数が違うだけなので説明は飛ばします
26(10000, 28, 28)
27(10000, 10)
28
29~~ラベルについて~~
30数字の5を表現するためにonehotの形にしてあります
31array([ 0., 0., 0., 0., 0., 1., 0., 0., 0., 0.])
32上の配列の若い方から0, 1, 2, ..., 9と数字に対応しており、
331が立っている部分によってこの配列は特定の数字であると表現することができます
345
35"""
人工知能に関する断創録 - KerasでMNIST
そこで、データはおよそ12000個あるため約1000個のデータに
1・・嫌い 2・・少し嫌い 3・・普通 4・・少し好き 5・・好き
の5分類を自分でつけて、学習を行い残りのデータを分類しようと考えました。
MNISTとは異なり、質問者様の場合5個に分類できるラベルを12000個用意する必要があります。
python
1import numpy as np
2from keras.utils import np_utils
3
4nb_classes = 5
5# このcategoryiesというのは質問者様の用意された画像に対するラベルがすでにわかっている状態
6# やり方についてはmmssさんが説明されていますね
7categories = np.random.randint(nb_classes, size=12000)
8pprint(categories)
9"""
10画像に対応する好きの度合い(0~4)が格納された配列を渡してあげます
11array([3, 4, 2, 2, 1, 1, 2, 1, 1, 4,...])
12"""
13labels = np_utils.to_categorical(categories, nb_classes)
14pprint(labels.shape)
15# 1枚取り出してみる
16pprint(labels[0])
17pprint(np.argmax(labels[0]))
18"""
19(12000, 5)
20array([ 0., 1., 0., 0., 0.])
211
22"""
画像の訓練、テストデータについてはmmssさんが説明されているので省略しますね。
20180215追記
mkgreiさんが言及されていますが正直好き嫌いの連続的な情報を5つに分類するのは難しいかなと自分も思っています。ただここまで質問者様がデータセットやアイディアを準備されているので結果がどうあれひとまずひととりの手順を踏んでみるのは良い勉強になるかなと思いこの回答をしています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/13 16:50
2018/02/14 00:39 編集
2018/02/14 00:45
2018/02/15 09:04