Матрица путаницы (тепловая карта) с использованием модели Keras - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь создать тепловую карту моей матрицы путаницы, но я изо всех сил.

У меня есть модель Keras, поэтому я не могу использовать sklearn plot_confusion_matrix.

X, y = get_dataset_train() # X: (164, 68, 512),  y: (164) [1, 1, 1, 1, 2, 2, 2, 2, ..., 41, 41, 41, 41]

X_train, X_validate, y_train, y_validate = train_test_split(X, y, test_size=0.25, random_state=1) # (123, 68, 512), (41, 68, 512)

X_test, y_test = get_dataset_test() #  (164, 68, 512)

kernels, chans, samples = 1, 68, 512
num_subj = 42

y_train = np_utils.to_categorical(y_train)  # (123, 42)
y_validate = np_utils.to_categorical(y_validate)  # (41, 42)
y_test = np_utils.to_categorical(y_test). # (164, 42)

X_train = X_train.reshape(X_train.shape[0], 1, chans, samples) # (123, 1, 68, 512)
X_validate = X_validate.reshape(X_validate.shape[0], 1, chans, samples). # (41, 1, 68, 512)
X_test = X_test.reshape(X_test.shape[0], 1, chans, samples). # (164, 1, 68, 512) 

model2 = EEGNet(nb_classes=num_subj, Chans=chans, Samples=samples,
               dropoutRate=0.5, kernLength=64, F1=8, D=2, F2=16,
               dropoutType='Dropout')

model2.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

FittedModel = model2.fit(X_train, y_train, batch_size = 16, epochs = 15,
                        verbose = 2, validation_data=(X_validate, y_validate),
                        callbacks=[checkpointer])

probs = model2.predict(X_test)
preds = probs.argmax(axis=-1)

Как создать правильную матрицу путаницы с тепловой картой, используя модель Keras?

...