Skip to main content

A package for EnsembleLearning for Software Entwicklung Course 2

Project description

Projekt Softwareentwicklung

Setzt die Vorgaben in Python um und verpackt euren Code in einem Python-Package - Dokumentation ist optional (30%)

Klasse umsetzen, mit deren Hilfe ein Multi-Model-Model Ensemble Regressor (Aggregiert die Schätzung von mehreren, unterschiedlichen Regressionsmodellen, z.B. Decision Tree und Lineare Regression) trainiert werden kann.

Ich habe eine Klasse entwickelt "EnsembleLearning", dass die Daten des Titanic Datensatzes von Kaggle verarbeitet. Diese werden zunächst pre-processed und dann dann an die Klasse übergeben. Über einen User-Input, kann das Ensemble Learning initiiert werden. Zur Verfügung stehende Regressors:

  • least_squares
  • nearest_neighbor
  • xgboost
  • sgd (stochastic gradient descent)

Die Klasse fitted und predicted anschließend die Zielvariablen und zurückgegeben wird die Accuracy für den Datensatz Titanic

Das Package habe ich unter ensemblelearning-steffenhahn veröffentlich auf PyPi

Schreibt Unit-Tests (5 Stück reichen) um die Funktionalität der Regressor-Klasse zu testen (20%)

Die Unit Test sind im test_model file zu finden

Entwickelt einen REST-Webservice der das von euch erstellte Paket nutzt und die passenden Endpoints anbietet (20%)

Ich habe ein Flask-App erstellt, welche den Titanic Datensatz lädt, und der User kann die Regressoren auswählen

Das trainierte Model wird abgespeichert (trained_model.joblib), und anschließend wird die Accuracy zurückgegeben:

Wird nur ein Regressor ausgewählt, wird eine Fehlermeldung zurückgegeben:

Erstellt ein Docker-Image für den oben genannten Web-Service (10%)

Ist erstellt unter "Dockerfile" und sollte auch funktionieren, wenngleich das Image mit >2GB völlig überdimensioniert ist. Aber habe meine fehlendes Know-How mit Masse kompensiert, und es läuft zumindest;)

Entwickelt eine GitLab-Pipeline um eure Tests und alle anderen automatisierbaren Schritte auszuführen (20%)

Ist ebenfalls unter .gitlab-ci.yml erstellt und getestet:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ensemblelearning_steffenhahn-0.0.1.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ensemblelearning_steffenhahn-0.0.1-py3-none-any.whl (2.6 kB view details)

Uploaded Python 3

File details

Details for the file ensemblelearning_steffenhahn-0.0.1.tar.gz.

File metadata

File hashes

Hashes for ensemblelearning_steffenhahn-0.0.1.tar.gz
Algorithm Hash digest
SHA256 04d69b9d6439e0725b6edc0b2947dc5437be7387a2a283373c897ca9a00444f2
MD5 52ffd7b51e6c5f7f92290954482c2d46
BLAKE2b-256 8a648d10a76946fa6bf268fd2bdcce7aebe592403a4bf39f848263c68d27591d

See more details on using hashes here.

File details

Details for the file ensemblelearning_steffenhahn-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ensemblelearning_steffenhahn-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b5ff7e218eebc9cfca2b13a7c792ccb06dfab075ae2e294f19d2dafe866bfe27
MD5 997dc85b9bb6de25194b7959c5dfe0d4
BLAKE2b-256 0d1462e8557521e6286c748b467f38e2ba9ee9275c1f8f49c19d9d1b006dc3ef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page