Изучение набора данных с цифрами на LED-дисплее
В следующих упражнениях вы будете использовать NMF для разложения изображений в оттенках серого на часто встречающиеся паттерны. Для начала изучите набор изображений и посмотрите, как он представлен в виде массива. Вам предоставлены 100 изображений в виде двумерного массива samples, где каждая строка соответствует одному изображению размером 13×8. Изображения в этом наборе данных — фотографии LED-дисплея с цифрами.
Это упражнение является частью курса
Обучение без учителя на Python
Инструкции к упражнению
- Импортируйте
matplotlib.pyplotпод псевдонимомplt. - Выберите строку
0массиваsamplesи сохраните результат в переменнуюdigit. Например, чтобы выбрать столбец2массиваa, можно использоватьa[:,2]. Обратите внимание: посколькуsamples— это массив NumPy, для выбора строк и столбцов нельзя использовать.loc[]илиiloc[]. - Выведите
digitна экран. Это уже сделано за вас. Обратите внимание: это одномерный массив из нулей и единиц. - Примените метод
.reshape()к массивуdigit, чтобы получить двумерный массив формы(13, 8). Сохраните результат в переменнуюbitmap. - Выведите
bitmapна экран и убедитесь, что единицы образуют цифру 7! - Используйте функцию
plt.imshow(), чтобы отобразитьbitmapкак изображение.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Import pyplot
from matplotlib import pyplot as plt
# Select the 0th row: digit
digit = ____
# Print digit
print(digit)
# Reshape digit to a 13x8 array: bitmap
bitmap = ____
# Print bitmap
print(bitmap)
# Use plt.imshow to display bitmap
plt.____(____, cmap='gray', interpolation='nearest')
plt.colorbar()
plt.show()