Ein Modell definieren
Nun arbeitest du mit deinem ersten Keras-Modell und kannst direkt komplexere neuronale Netze auf größeren Datensätzen ausführen als in den ersten beiden Kapiteln.
Zunächst nimmst du das Grundgerüst eines neuronalen Netzes und fügst eine versteckte Schicht und eine Ausgabeschicht hinzu. Anschließend passt du das Modell an und beobachtest, wie Keras die Optimierung übernimmt, sodass dein Modell kontinuierlich besser wird.
Als Einstieg sagst du den Stundenlohn von Beschäftigten anhand von Merkmalen wie Branche, Ausbildung und Erfahrungsniveau voraus. Du findest den Datensatz in einem pandas DataFrame namens df. Der Einfachheit halber wurde alles in df außer dem Ziel in ein NumPy-Array namens predictors umgewandelt. Das Ziel, wage_per_hour, ist als NumPy-Array namens target verfügbar.
Für alle Übungen in diesem Kapitel haben wir den Sequential-Modellkonstruktor, den Dense-Schichtkonstruktor und pandas importiert.
Diese Übung ist Teil des Kurses
Einführung in Deep Learning mit Python
Anleitung zur Übung
- Speichere die Anzahl der Spalten in den
predictors-Daten inn_cols. Das wurde bereits für dich erledigt. - Erstelle zunächst ein
Sequential-Modell namensmodel. - Verwende die Methode
.add()aufmodel, um eineDense-Schicht hinzuzufügen.- Füge
50Units hinzu, setzeactivation='relu', und gib den Parameterinput_shapeals Tupel(n_cols,)an. Das bedeutet: In jeder Zeile der Daten gibt esn_colsElemente, und es kann eine beliebige Anzahl von Zeilen als Eingabe verwendet werden.
- Füge
- Füge eine weitere
Dense-Schicht hinzu. Diese sollte32Units und eine'relu'-Aktivierung haben. - Füge schließlich eine Ausgabeschicht hinzu, also eine
Dense-Schicht mit einem einzelnen Knoten. Verwende hierbei keine Aktivierungsfunktion.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Import necessary modules
from tensorflow.keras.layers import Dense
from tensorflow.keras.models import Sequential
# Save the number of columns in predictors: n_cols
n_cols = predictors.shape[1]
# Set up the model: model
model = ____
# Add the first layer
____.____(____(____, ____=____, ____=(____)))
# Add the second layer
____
# Add the output layer
____