Erforsche den Datensatz LED digits
In den folgenden Übungen wirst du NMF verwenden, um Graustufenbilder in ihre häufig vorkommenden Muster zu zerlegen. Erkunde zunächst den Bilddatensatz und sieh dir an, wie er als Array kodiert ist. Du bekommst 100 Bilder als 2D-Array samples
, wobei jede Zeile ein einzelnes 13x8-Bild darstellt. Die Bilder in deinem Datensatz sind Bilder einer digitalen Anzeige LED.
Diese Übung ist Teil des Kurses
Unüberwachtes Lernen in Python
Anleitung zur Übung
- Importiere
matplotlib.pyplot
alsplt
. - Wähle die Zeile
0
vonsamples
aus und ordne das Ergebnisdigit
zu. Um zum Beispiel die Spalte2
eines Arraysa
auszuwählen, könntest dua[:,2]
verwenden. Dasamples
ein NumPy-Array ist, kannst du die Accessoren.loc[]
undiloc[]
nicht verwenden, 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 0s und 1s handelt. - Verwende die Methode
.reshape()
vondigit
, um ein 2D-Array mit der Form(13, 8)
zu erhalten. Weise das Ergebnisbitmap
zu. - Drucke
bitmap
und beachte, dass die 1en die Ziffer 7 zeigen! - Verwende die Funktion
plt.imshow()
, umbitmap
als Bild anzuzeigen.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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()