Kerasを使った学習済みモデルで実際にテスト用データを用いてクラスタリングをしたい
学習済みCNNの評価に使用したテストデータを用いて実際にクラスタリングした結果を取得したいです。
Kerasを使ってクラスタリングを行うネットワークの構築を行っています。
学習および評価に使用する画像を次のように取得しました
target_dir = "TargetDir"
data_df = pd.read_csv(target_dir+'data_sheet.csv')
file_list = list(data_df['file']) #画像ファイルのファイル名
class_list = list(data_df['class']) #クラス番号
image_size = 64
X=[]
Y=[]
for index,file in enumerate(file_list):
image = Image.open(target_dir+file)
image = image.resize((image_size,image_size))
image = ImageOps.grayscale(image)
image = np.asarray(image)
X.append(image)
Y.append(class_list[index])
X=np.array(X)
Y=np.array(Y)
X=X.astype('float32')
X/=255.0
Y-=1
Y=np_utils.to_categorical(Y,3)
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.20)
これでネットワークの学習を行い、model.evaluate
メソッドで評価を行いました。
この時、X_test
に含まれているデータを対象として実際にクラスタリングした結果を、画像ファイル名とクラスタリング結果の対応表として取得するにはどのようにすればよろしいでしょうか?
使用しているKerasは2.2.4 Pythonは3.6 となっております。