Druckansicht der Internetadresse:

Faculty for Biology, Chemistry, and Earth Sciences

Department of Ecological Modelling - Prof. Dr. Michael Hauhs

print page

Bachelor Thesis

Implementing Safe-Level-Smote in R

Dorian Till Joscha Rohner (03/2014-10/2014)

Support: Christina Bogner

Bachelorarbeit in Koopeartion mit dem Lehrstuhl für Angewandte Informatik III

Studiengänge: Umweltinformatik, Geoökologie

Klassifikation und Regression mit ungleichverteilten Daten (learning from imbalanced data) ist ein häufig wiederkehrendes Phänomen. Eine Möglichkeit, verlässliche Modelle mit solchen Daten zu entwickeln, ist das Generieren von künstlichen Daten mit SMOTE (synthetic minority oversampling technique). Im Zuge dieser Arbeit soll eine Erweitung von SMOTE, genannt Safe-Level-Smote, implementiert werden. Dazu wird auf die Grundimplementierung von SMOTE zurück gegriffen und diese entsprechend modifiziert und erweitert. Für die einfache Weiternutzung sollen die Algorithmen in R implementiert werden. Aus Gründen der Performance müssen allerdings einige Module in C++ entwickelt werden, da so angemessene Algorithmen und Datenstrukturen benutzt werden können. Diese sind auch notwendig, um große Datensätze in einem angemessenen Zeitraum zu verarbeiten. Ein Beispiel dafür ist die Bestimmung der Nachbarschaftsstrukturen. So können dort diverse Ansätze sowie Datenstrukturen (z.B. k-d-Trees) implementiert und bewertet werden. All dies kann mit Hilfe von Rcpp in R benutzt werden. Abschließend soll ein R Packet mit Dokumentation erstellt werden.

Die Bearbeitung des Themas umfasst folgende Schritte:

  • Einarbeitung in die theoretischen Grundlagen (Imbalanced Data, SMOTE, Safe-Level-Smote, Rcpp)
  • Sichtung und Bewertung der vorhandenen Implementierung
  • Implementierung der Verfahren
  • Ausführliches Testen und kritischer Vergleich der diversen Verfahren
  • Erstellen des R Paketes

Weiterhin sollen alle diese Arbeitsschritte in einer Ausarbeitung dokumentiert werden.

Voraussetzungen: Sicheres Programmieren in R

Youtube-KanalKontakt aufnehmen
This site makes use of cookies More information