Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
smoker_rfc_model.joblib filter=lfs diff=lfs merge=lfs -text
26 changes: 19 additions & 7 deletions dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@
from io import BytesIO
import base64
import plotly.express as px
import joblib
import io
import sys
import logging


# Dashboard im Browser anzeigen
# http://127.0.0.1:8050/
Expand Down Expand Up @@ -824,9 +829,9 @@ def create_weight_boxplot():
style={"fontFamily": "'Inter', sans-serif", "margin": "0", "padding": "0"},
)

# Dash-Anwendung ausführen -----------------------------------------------------------------------------------------------------------
if __name__ == "__main__":
app.run(debug=True) # Debug Modus für Ausgabe von Fehlermeldungen im Dashboard uvm
# Modell laden (nur einmal beim Start des Dashboards)
rfc_model = joblib.load('smoker_rfc_model.joblib')
#model_columns = joblib.load('smoker_model_columns.joblib')

# Callback für CSV-Upload und Vorhersage hinzufügen (nach dem Layout)
@app.callback(
Expand All @@ -846,17 +851,20 @@ def update_prediction(contents, filename):
)

try:
print("try startet", file=sys.stderr)
# CSV-Datei verarbeiten
content_type, content_string = contents.split(',')
decoded = base64.b64decode(content_string)

# CSV in DataFrame laden
import io
df_uploaded = pd.read_csv(io.StringIO(decoded.decode('utf-8')))

# Spalten in richtige Reihenfolge bringen
#df_uploaded = df_uploaded[model_columns]

# Dummy-Vorhersage (hier würden Sie Ihr ML-Modell verwenden)
import random
prediction_probability = random.randint(15, 85)
# Vorhersagen berechnen
pred_probs = rfc_model.predict_proba(df_uploaded)[:,1]
prediction_probability = round(pred_probs.mean() * 100, 2)

# Datei-Informationen anzeigen
file_info = [
Expand Down Expand Up @@ -981,3 +989,7 @@ def update_prediction(contents, filename):
)
])
]

# Dash-Anwendung ausführen -----------------------------------------------------------------------------------------------------------
if __name__ == "__main__":
app.run(debug=True) # Debug Modus für Ausgabe von Fehlermeldungen im Dashboard uvm
1,122 changes: 814 additions & 308 deletions smoker-models.ipynb

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions smoker_rfc_model.joblib
Git LFS file not shown
Loading