Mit Hilfe von unseren offenen Datasets können leicht eigene Vorhersagemodelle für die Citybike-Stationen in TensorFlow erstellt werden. Das erleichtert den Einstieg enorm und spart einiges an Zeit.
Nachdem sich die Entwicklung im Rahmen unseres geförderten netidee-Projekts langsam dem Ende zuneigt, möchten wir euch noch die einzelnen Ergebnisse genauer vorstellen. Den Anfang machen die produzierten Datasets.
Ein Dataset ist vereinfacht gesagt nur ein CSV, welches den Kriterien der Dataset-API von TensorFlow / Keras entspricht. So kann man die von uns erhobenen Daten direkt und ohne Aufwand selbst in TensorFlow-basierten Projekten verwenden und eigene Vorhersagemodelle erstellen. Dafür muss man nur die tf.data.Dataset API bzw. die fitDataset()-Funktion in TensorFlow.js verwenden.
Um die Datasets schnell und einfach abrufen zu können, haben wir sie in ein öffentliches Google Cloud Storage Bucket mit dem Namen „smai-public-datasets“ geladen. Ihr könnt es über die URL https://storage.googleapis.com/smai-public-datasets/ erreichen und ohne Umwege die CSV-Dateien laden. Damit es auch im Browser mit TensorFlow.js funktioniert, werden alle Dateien mit entsprechenden CORS-Headern ausgeliefert. Hier ein Beispiel wie wir selbst zum Training die eigenen Datasets verwenden:
const trainingSet = tf.data.csv(datasetURL.href);
const model = tf.sequential();
// build the layered model
model.add(tf.layers.dense({units: 40, activation: "relu", inputShape: [40]}));
model.add(tf.layers.dense({units: 150, activation: "relu"}));
model.add(tf.layers.dense({units: 4, activation: "softmax"}));
// Compile model to prepare for training.
model.compile({
optimizer: tf.train.rmsprop(LEARNING_RATE),
loss: LOSS,
metrics: [METRICS]
});
const history = await model.fitDataset(trainingSet, {
epochs: 25,
batchSize: 512,
shuffle: true
});
Das Bucket enthält aber nicht nur Datasets, sondern auch ein JSON bzw. CSV mit der zu Grunde liegenden Stationsliste:
- gs://smai-public-datasets/_metadata/smai_station_export.csv
- gs://smai-public-datasets/_metadata/smai_station_export.json
Insgesamt sind bereits rund 600 Datasets publiziert, wobei es sich hierbei um unterschiedliche Versionen der gesammelten Daten handelt. Wir haben sie einerseits nach Datum bzw. Monat gruppiert, andererseits gibt es je ein Dataset für die gesammte Citybike-Flotte, andererseits auch jede Station einzeln. Letzteres erleichtert die Verwendung der Daten erheblich, da kleinere Datenmengen anfallen. Für jedes Monat fallen weitere 121 Datasets an: 120 für die Stationen und eine gesammelte Version. Eine vollständige Liste kann mit folgendem Befehl aufgelistet werden: gsutil ls gs://smai-public-datasets/citybikewien/
Die Datasets sind unter CC-BY-SA veröffentlicht. Sie können daher frei verwendet werden.