Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -21,12 +21,12 @@ try:
|
|
| 21 |
train_texts, test_texts, train_labels, test_labels = train_test_split(
|
| 22 |
texts, numerical_labels, test_size=0.2, random_state=42, stratify=numerical_labels
|
| 23 |
)
|
| 24 |
-
print("Datensatz 'banking77' erfolgreich geladen.")
|
| 25 |
except Exception as e:
|
| 26 |
print(f"Fehler beim Laden des Datensatzes: {e}")
|
| 27 |
label_names = ["Fehler beim Laden"]
|
| 28 |
pipeline = None
|
| 29 |
-
print("Modell wird nicht trainiert, da der Datensatz nicht geladen werden konnte.")
|
| 30 |
|
| 31 |
# 2. Trainieren des Modells (einmalig beim Start)
|
| 32 |
if 'pipeline' not in locals() or pipeline is None:
|
|
@@ -36,18 +36,18 @@ if 'pipeline' not in locals() or pipeline is None:
|
|
| 36 |
('classifier', LogisticRegression(solver='liblinear', multi_class='ovr', random_state=42))
|
| 37 |
])
|
| 38 |
pipeline.fit(train_texts, train_labels)
|
| 39 |
-
print("Modell erfolgreich trainiert.")
|
| 40 |
except Exception as e:
|
| 41 |
print(f"Fehler beim Trainieren des Modells: {e}")
|
| 42 |
pipeline = None
|
| 43 |
-
print("Modell konnte nicht trainiert werden.")
|
| 44 |
|
| 45 |
# 3. Funktion für die Vorhersage
|
| 46 |
def predict_intent(text):
|
| 47 |
if pipeline is not None and len(label_names) > 0:
|
| 48 |
try:
|
| 49 |
prediction = pipeline.predict([text])[0]
|
| 50 |
-
predicted_label = label_names[prediction]
|
| 51 |
probabilities = pipeline.predict_proba([text])[0]
|
| 52 |
confidences = {label_names[i]: f"{probabilities[i]:.2f}" for i in range(len(label_names))}
|
| 53 |
return predicted_label, confidences
|
|
|
|
| 21 |
train_texts, test_texts, train_labels, test_labels = train_test_split(
|
| 22 |
texts, numerical_labels, test_size=0.2, random_state=42, stratify=numerical_labels
|
| 23 |
)
|
| 24 |
+
print("Datensatz 'banking77' erfolgreich geladen.")
|
| 25 |
except Exception as e:
|
| 26 |
print(f"Fehler beim Laden des Datensatzes: {e}")
|
| 27 |
label_names = ["Fehler beim Laden"]
|
| 28 |
pipeline = None
|
| 29 |
+
print("Modell wird nicht trainiert, da der Datensatz nicht geladen werden konnte.")
|
| 30 |
|
| 31 |
# 2. Trainieren des Modells (einmalig beim Start)
|
| 32 |
if 'pipeline' not in locals() or pipeline is None:
|
|
|
|
| 36 |
('classifier', LogisticRegression(solver='liblinear', multi_class='ovr', random_state=42))
|
| 37 |
])
|
| 38 |
pipeline.fit(train_texts, train_labels)
|
| 39 |
+
print("Modell erfolgreich trainiert.")
|
| 40 |
except Exception as e:
|
| 41 |
print(f"Fehler beim Trainieren des Modells: {e}")
|
| 42 |
pipeline = None
|
| 43 |
+
print("Modell konnte nicht trainiert werden.")
|
| 44 |
|
| 45 |
# 3. Funktion für die Vorhersage
|
| 46 |
def predict_intent(text):
|
| 47 |
if pipeline is not None and len(label_names) > 0:
|
| 48 |
try:
|
| 49 |
prediction = pipeline.predict([text])[0]
|
| 50 |
+
predicted_label = label_names[prediction] # Korrektur: String-Label abrufen
|
| 51 |
probabilities = pipeline.predict_proba([text])[0]
|
| 52 |
confidences = {label_names[i]: f"{probabilities[i]:.2f}" for i in range(len(label_names))}
|
| 53 |
return predicted_label, confidences
|