No items found.

No items found.

Abschlussprojekt Machine Learning

Modul 12: Deep Learning Framworks
Kapitel 3: Abschlussprojekt
Bearbeitungszeit: ca. 8 h

Sie haben in den vorherigen Kapiteln die zentralen ML-Algorithmen, die Programmierung mit Python und die wichtigsten Bibliotheken kennengelernt. In dieser Übung werden Sie Ihr Wissen in Form eines Abschlussprojekts in die Tat umzusetzen! Wir nutzen dafür ein Projekt der Plattform Kaggle. Das ist eine Online-Community für Data-Science und KI, auf der Wettbewerbe für die Erstellung möglichst guter ML-Modelle veranstaltet werden. Dabei kann man ein Preisgeld für möglichst gute Lösungen ausgeschrieben werden. Datenwissenschaftler und ML-Learning Experten konkurrieren dann um die besten Arbeiten und unterstützen sich dabei mit Open Source Code.

Projektbeschreibung: 

In Gebäuden werden durch Heizung, Kühlung, etc. rund 14% aller direkten Treibhausgasemissionen Deutschlands verursacht. Zusammen mit indirekten Emissionen aus der Energiewirtschaft ist der Anteil des Gebäudebereichs an den Gesamtemissionen etwa doppelt so hoch und macht etwas mehr als ein Viertel der gesamten Emissionen aus [Quelle].

Um Energie und damit Emissionen und auch Kosten einzusparen, werden Investitionen in die Sanierung des Gebäudebestands getätigt. Dieses Projekt beschäftigt sich mit der Frage, ob und in welcher Höhe sich Investitionen in die Sanierung gelohnt haben. Es soll also ermittelt werden, wie viel Energiekosten man ohne die Sanierung gehabt hätte. Dabei sollen verschiedene Punkte berücksichtigt werden, die mit verschiedenen Simulationsmodellen schwierig zu beantworten sind: verschiedene Gebäudetypen haben einen unterschiedlichen Energiebedarf, verschiedene Gebäude haben unterschiedliche Energieerzeugungskonzepte und sind verschiedenen klimatischen Bedingungen ausgesetzt.

Dieses Modell soll untersuchen, welche Gegebenheiten die größten Einflüsse auf Energieverbräuche von Gebäuden haben. Dafür wurden über drei Jahre Energieverbräuche von fast 1.500 Gebäuden an 16 verschiedenen Orten aufgenommen. Auf der Basis dieser Daten sollen Vorhersagen über die Wirksamkeit von Investitionen zum Einsparen von Energie getroffen werden.

Veranstaltet wurde der Wettbewerb von der ASHRAE - einem gebäudetechnischen Fachverband aus den USA. Der Wettbewerb wurde schon beendet, weswegen gute Lösungen bereits veröffentlicht wurden.

Die Gebäude:

Die Daten umfassen 1449 Gebäude an 16 verschiedenen Orten. Die Metadaten zu den Gebäuden sind in der building_metadata.csv zu finden. Die Gebäude haben folgende Attribute:

  1. Standort des Gebäudes (site_id)
  2. Gebäude (building_id)
  3. Gebäudetyp, z.B. Schule oder Büro (primary_use)
  4. Größe (square_feet)
  5. Baujahr (year_built)
  6. Anzahl der Stockwerke (floor_count)

Die Daten: 

Als Trainingsdaten dienen die stündlichen Energieverbräuche (train.csv) und Wetterdaten (weather_train.csv) aus dem Jahr 2016. Attribute der Energiedaten sind: 

  1. Gebäude (building_id)
  2. Art des Messpunkts, z.B. Stromzähler oder Wärmemengenzähler (meter)
  3. Zeitstempel (timestamp)
  4. Messung (meter_reading)

Attribute der Wetterdaten sind: 

  1. Standort des Gebäudes (site_id)
  2. Zeitstempel (timestamp)
  3. Außentemperatur (air_temperature)
  4. Wolkenbedeckung (cloud_coverage)
  5. Taupunkt (dew_temperature)
  6. Niederschlag in einer Stunde (precip_depth_1_hr)
  7. Luftdruck (sea_level_pressure)
  8. Windrichtung (wind_direction)
  9. Windgeschwindigkeit (wind_speed)

Preprocessing:

Wenn man die Daten ungefiltert in das Modell übernimmt, läuft man in Gefahr, fehlerhafte Daten mit aufzunehmen oder den Fokus auf unrelevante Daten zu legen! In den meisten Datensätzen sind fehlerhafte Daten enthalten, weswegen man sich alle Daten zunächst genau anschauen sollte. Das Preprocessing nimmt bei ML-Projekten einen erheblichen Teil der Zeit in Anspruch und sollte von jemandem übernommen werden, der sowohl mit Daten umgehen kann und Kenntnisse von der behandelten Thematik hat, um die Daten einschätzen zu können. Dieser Artikel gibt eine sehr gute Übersicht über die verschiedenen Gründe für ein gründliches Preprocessing.

Auch in diesem Projekt ist ein gründliches Preprocessing essenziell für eine gute Vorhersage der Energieverbräuche.

Beispiele für Vorgänge des Preprocessing

Aufgabe:

In diesem Ordner liegen die beschriebenen Daten und ein Python-Notebook zum Einbinden in Google Colab ab. Binden Sie die Daten und das Notebook in Ihre Drive ein, um das Projekt starten zu können. Ziel der Übung ist es, ein möglichst bereinigtes und nutzbares Datenset zu erhalten und mithilfe dessen ein möglichst genaues Modell zu trainieren.

Hier geht's zum Download