Entdecke den Datensatz „LED-Ziffern“
In den folgenden Übungen wirst du NMF verwenden, um Graustufenbilder in häufig vorkommende Muster zu zerlegen. Schau dir erst mal den Bilddatensatz an und guck, wie er als Array verschlüsselt ist. Du bekommst 100 Bilder als 2D-Array „ samples
“, wobei jede Zeile ein einzelnes Bild mit den Maßen 13x8 darstellt. Die Bilder in deinem Datensatz sind Fotos von einer LED-Digitalanzeige.
Diese Übung ist Teil des Kurses
Unüberwachtes Lernen in Python
Anleitung zur Übung
- Importiere
matplotlib.pyplot
alsplt
. - Wähle die Zeile „
0
” aus „samples
” aus und speicher das Ergebnis in „digit
”. Um zum Beispiel die Spalten2
eines Arraysa
auszuwählen, kannst du Folgendes verwenden:a[:,2]
. Denk dran, dass du, weil „samples
” ein NumPy-Array ist, die Zugriffsmethoden „.loc[]
” oder „iloc[]
” nicht verwenden kannst, um bestimmte Zeilen oder Spalten auszuwählen. - Gib
digit
aus. Das haben wir für dich getan. Beachte, dass es sich um ein 1D-Array aus Nullen und Einsen handelt. - Verwende die Methode „
.reshape()
“ von „digit
“, um ein 2D-Array mit der Form „(13, 8)
“ zu erhalten. Weise das Ergebnisbitmap
zu. - Druckt „
bitmap
“ aus und schaut euch an, dass die 1en die Ziffer 7 zeigen! - Mit der Funktion „
plt.imshow()
“ kannst du „bitmap
“ als Bild anzeigen.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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()