Pipeline – Open Source Machine Learning Bibliothek

Neue Probleme analysieren wir mit unserer Eigenentwicklung Pipeline. Pipeline ist eine Softwarebibliothek mit Komponenten für das maschinelle Lernen und die statistische Datenanalyse. Diese ist modular aufgebaut. So kann im Baukastenprinzip eine problembezogene Datenpipeline aufgebaut und evaluiert werden. Eine Datenpipeline besteht aus Readern, Transformatoren, Klassifikatoren, Regressoren, Eingabe- und Ausgabenormierungen und weiteren Bausteinen.

Für jedes Problem wird so individuell die beste Lösung gesucht. Die optimale Datenpipeline wird anschliessend für den Produktiveinsatz angepasst und getestet.
Alle Komponenten basieren auf der Java Virtual Machine und sind somit plattformunabhängig.
Verarbeitet werden einfache Vektoren, aber auch Sequenzen/Zeitserien und Graphen. Strukturierte wie auch unstrukturierte Daten werden mit den entsprechenden Readern ins geeignete Format gebracht.

Pipeline ist als Open Source Software unter einer MIT Lizenz verfügbar: https://github.com/eonum/pipeline

Im Folgenden finden Sie eine Auswahl von zur Verfügung stehenden Bausteinen

Klassifikatoren / Regressoren

  • Random Forests / Entscheidungsbäume / CART
  • Neuronale Netze
  • Rekurrente Neuronale Netze (Long Short Term Memory)
  • Supportvektormaschinen
  • Lineare Regression
  • Logistic Regression
  • Gradient Boosting
  • Nearest Neighbor
  • Ensemble Methods (Bagging / Boosting)

Optimierungsverfahren

  • Genetische Algorithmen
  • Gradient descent

Clustering / Data Mining

  • Gaussian Mixture Models
  • K-Means Clustering
  • EM Fuzzy Clustering

Transformatoren

  • Hauptachsentransformation
  • Merkmalsextraktoren
  • Dynamic Time Warping

Validierung

  • k-fold cross validation
  • verschiedene Evaluationsmetriken (RMSE, AUC, Erkennungsrate, LogLoss)
  • Validierung der gesamten Datenpipeline von der Merkmalsextraktion, über die Normierung und das Trainieren bis zur Nachbearbeitung.

Die DRG-Karte