Update app.py
Browse files
app.py
CHANGED
|
@@ -3,6 +3,7 @@ import pickle
|
|
| 3 |
import re
|
| 4 |
import numpy as np
|
| 5 |
|
|
|
|
| 6 |
# Streamlit page configuration
|
| 7 |
st.set_page_config(page_title="Stack Overflow Tags Predictor", layout="centered")
|
| 8 |
|
|
@@ -43,8 +44,14 @@ if st.button("🔍 Predict Tags"):
|
|
| 43 |
input_text = clean_text(title + " " + body)
|
| 44 |
X_input = vectorizer.transform([input_text])
|
| 45 |
|
| 46 |
-
|
| 47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
predicted_tags = mlb.inverse_transform(y_pred)
|
| 49 |
|
| 50 |
if predicted_tags and predicted_tags[0]:
|
|
@@ -52,3 +59,4 @@ if st.button("🔍 Predict Tags"):
|
|
| 52 |
st.write(", ".join(predicted_tags[0]))
|
| 53 |
else:
|
| 54 |
st.info("🤔 No tags predicted. Try refining your question.")
|
|
|
|
|
|
| 3 |
import re
|
| 4 |
import numpy as np
|
| 5 |
|
| 6 |
+
|
| 7 |
# Streamlit page configuration
|
| 8 |
st.set_page_config(page_title="Stack Overflow Tags Predictor", layout="centered")
|
| 9 |
|
|
|
|
| 44 |
input_text = clean_text(title + " " + body)
|
| 45 |
X_input = vectorizer.transform([input_text])
|
| 46 |
|
| 47 |
+
try:
|
| 48 |
+
# Use predict_proba and apply fixed threshold
|
| 49 |
+
y_prob = model.predict_proba(X_input)
|
| 50 |
+
y_pred = (y_prob >= 0.3).astype(int) # Default threshold used
|
| 51 |
+
except AttributeError:
|
| 52 |
+
st.warning("⚠ Model does not support `predict_proba`. Using default `predict` method.")
|
| 53 |
+
y_pred = model.predict(X_input)
|
| 54 |
+
|
| 55 |
predicted_tags = mlb.inverse_transform(y_pred)
|
| 56 |
|
| 57 |
if predicted_tags and predicted_tags[0]:
|
|
|
|
| 59 |
st.write(", ".join(predicted_tags[0]))
|
| 60 |
else:
|
| 61 |
st.info("🤔 No tags predicted. Try refining your question.")
|
| 62 |
+
|