Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -418,19 +418,6 @@ df.drop(columns={col_to_delete}, inplace=True)
|
|
418 |
st.pyplot(fig)
|
419 |
new_line()
|
420 |
|
421 |
-
# Feature Importance (Only if a model has been trained)
|
422 |
-
if 'trained_model' in st.session_state and st.session_state.trained_model is not None:
|
423 |
-
feature_importance = st.checkbox("Show Feature Importance (Only click after training or it will throw error)", value=False)
|
424 |
-
new_line()
|
425 |
-
if feature_importance:
|
426 |
-
model = st.session_state.trained_model
|
427 |
-
importances = pd.Series(model.feature_importances_, index=X_train.columns)
|
428 |
-
fig, ax = plt.subplots()
|
429 |
-
importances.sort_values().plot(kind='barh', ax=ax)
|
430 |
-
ax.set_title('Feature Importance')
|
431 |
-
st.pyplot(fig)
|
432 |
-
new_line()
|
433 |
-
|
434 |
new_line()
|
435 |
if st.checkbox("Identify Outliers", value=False):
|
436 |
numeric_cols = df.select_dtypes(include=np.number).columns.tolist()
|
@@ -479,20 +466,26 @@ df.drop(columns={col_to_delete}, inplace=True)
|
|
479 |
|
480 |
new_line()
|
481 |
if st.checkbox("Show Word Cloud", value=False):
|
482 |
-
|
483 |
-
|
484 |
|
485 |
-
if
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
493 |
else:
|
494 |
-
st.
|
495 |
-
|
496 |
|
497 |
|
498 |
new_line()
|
|
|
418 |
st.pyplot(fig)
|
419 |
new_line()
|
420 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
421 |
new_line()
|
422 |
if st.checkbox("Identify Outliers", value=False):
|
423 |
numeric_cols = df.select_dtypes(include=np.number).columns.tolist()
|
|
|
466 |
|
467 |
new_line()
|
468 |
if st.checkbox("Show Word Cloud", value=False):
|
469 |
+
# Get the list of object-type columns for user to choose from
|
470 |
+
text_col_options = df.select_dtypes(include=[np.object, 'string']).columns.tolist()
|
471 |
|
472 |
+
if text_col_options:
|
473 |
+
# Let the user select a text column
|
474 |
+
text_col = st.selectbox("Select Text Column for Word Cloud", options=text_col_options)
|
475 |
+
|
476 |
+
# Collect text data, dropping NA values and joining them into a single string
|
477 |
+
text_data = ' '.join(df[text_col].dropna()).strip()
|
478 |
+
|
479 |
+
if text_data: # Check if there is any text data to use
|
480 |
+
wordcloud = WordCloud(width=800, height=400).generate(text_data)
|
481 |
+
fig, ax = plt.subplots()
|
482 |
+
ax.imshow(wordcloud, interpolation='bilinear')
|
483 |
+
ax.axis('off')
|
484 |
+
st.pyplot(fig)
|
485 |
+
else:
|
486 |
+
st.error("No words available to create a word cloud. Please check the selected text data.")
|
487 |
else:
|
488 |
+
st.error("No suitable text columns found for creating a word cloud.")
|
|
|
489 |
|
490 |
|
491 |
new_line()
|