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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ensemblelearning_steffenhahn-0.0.1.tar.gz.
File metadata
- Download URL: ensemblelearning_steffenhahn-0.0.1.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04d69b9d6439e0725b6edc0b2947dc5437be7387a2a283373c897ca9a00444f2
|
|
| MD5 |
52ffd7b51e6c5f7f92290954482c2d46
|
|
| BLAKE2b-256 |
8a648d10a76946fa6bf268fd2bdcce7aebe592403a4bf39f848263c68d27591d
|
File details
Details for the file ensemblelearning_steffenhahn-0.0.1-py3-none-any.whl.
File metadata
- Download URL: ensemblelearning_steffenhahn-0.0.1-py3-none-any.whl
- Upload date:
- Size: 2.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5ff7e218eebc9cfca2b13a7c792ccb06dfab075ae2e294f19d2dafe866bfe27
|
|
| MD5 |
997dc85b9bb6de25194b7959c5dfe0d4
|
|
| BLAKE2b-256 |
0d1462e8557521e6286c748b467f38e2ba9ee9275c1f8f49c19d9d1b006dc3ef
|