Как сделать анимацию из набора сюжетов, содержащих сюжеты - PullRequest
0 голосов
/ 10 мая 2018

Я играю с алгоритмом неотрицательной матричной факторизации (NMF) в базе данных MNIST и хочу визуализировать, как меняются первые 15 компонентов при уменьшении общего количества компонентов.

Сначала я загружаю базу данных MNISTи преобразовать его в массивы numPy

import numpy as np
from mnist import MNIST
mndata = MNIST('./data')

images_train, labels_train = mndata.load_training()
images_test, labels_test = mndata.load_testing()

labels_train = labels_train.tolist()
labels_test = labels_test.tolist()

X_train = np.array(images_train).astype('float64')
y_train = np.array(labels_train)
X_test = np.array(images_test).astype('float64')
y_test = np.array(labels_test)

Затем я строю модель NMF с 100 компонентами

from  sklearn.decomposition import NMF

nmf = NMF(n_components=100, random_state=0)
nmf.fit(X_train)

и отображаю первые 15 компонентов

import matplotlib.pyplot as plt
fig, axes = plt.subplots(3, 5, figsize=(12, 7), subplot_kw={'xticks': (), 'yticks': ()})
for i, (component, ax) in enumerate(zip(nmf.components_, axes.ravel())):
    ax.imshow(component.reshape(28,28), cmap=plt.cm.binary)
    ax.set_title("{}. component".format(i + 1))

Вывод: enter image description here

Затем я повторяю тот же процесс для 50 компонентов

Вывод: enter image description here

и, наконец, для 15 компонентов

Вывод: enter image description here

Интересно, плавно ли меняются первые 15 компонентов этих моделей NMF при уменьшении количестваВсего компонентов.Я хотел бы нарисовать целую кучу картинок, подобных приведенным выше, и отобразить их в анимации.Точнее, я бы хотел их анимировать, когда общее количество компонентов увеличивается от 100 до 15 с шагом, равным 5. Как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...