edit layout
This commit is contained in:
@ -453,18 +453,18 @@ def show_prediction():
|
|||||||
buf = io.BytesIO()
|
buf = io.BytesIO()
|
||||||
plt.savefig(buf, format='png', bbox_inches="tight", dpi=100)
|
plt.savefig(buf, format='png', bbox_inches="tight", dpi=100)
|
||||||
buf.seek(0)
|
buf.seek(0)
|
||||||
cols = st.columns(2) # Bagi halaman menjadi 4 kolom
|
# cols = st.columns(2) # Bagi halaman menjadi 4 kolom
|
||||||
with cols[0]: # Grafik SHAP ditempatkan di kolom pertama
|
# with cols[0]: # Grafik SHAP ditempatkan di kolom pertama
|
||||||
|
# st.image(buf, caption="SHAP Waterfall Plot", use_container_width=True)
|
||||||
|
|
||||||
|
# plt.close()
|
||||||
|
|
||||||
|
col1, col2 = st.columns([1.5, 2]) # **Kolom pertama untuk grafik, kolom kedua untuk penjelasan**
|
||||||
|
|
||||||
|
with col1:
|
||||||
st.image(buf, caption="SHAP Waterfall Plot", use_container_width=True)
|
st.image(buf, caption="SHAP Waterfall Plot", use_container_width=True)
|
||||||
|
|
||||||
plt.close()
|
with col2:
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
st.error(f"Error generating SHAP plot: {str(e)}")
|
|
||||||
plt.close()
|
|
||||||
|
|
||||||
generate_shap_plot(X_test_class, explainer_class)
|
|
||||||
|
|
||||||
top_factors = sorted(shap_dict.items(), key=lambda x: abs(x[1]), reverse=True)[:5]
|
top_factors = sorted(shap_dict.items(), key=lambda x: abs(x[1]), reverse=True)[:5]
|
||||||
|
|
||||||
# Bangun kesimpulan dinamis
|
# Bangun kesimpulan dinamis
|
||||||
@ -476,15 +476,46 @@ def show_prediction():
|
|||||||
st.markdown(
|
st.markdown(
|
||||||
f"""
|
f"""
|
||||||
<div style="text-align: justify; font-family: 'Poppins', sans-serif;">
|
<div style="text-align: justify; font-family: 'Poppins', sans-serif;">
|
||||||
|
<h4 style="color:#264CBE; font-size:18px; font-weight:600;">Faktor Utama yang Mempengaruhi Prediksi:</h4>
|
||||||
|
<p>
|
||||||
Grafik ini menunjukkan bagaimana hasil prediksi dihitung berdasarkan beberapa faktor utama.
|
Grafik ini menunjukkan bagaimana hasil prediksi dihitung berdasarkan beberapa faktor utama.
|
||||||
Faktor-faktor yang paling memengaruhi hasil prediksi adalah {summary}.
|
Faktor-faktor yang paling memengaruhi hasil prediksi adalah {summary}.
|
||||||
Faktor-faktor ini memberikan kontribusi signifikan terhadap hasil akhir prediksi,
|
Faktor-faktor ini memberikan kontribusi signifikan terhadap hasil akhir prediksi,
|
||||||
baik dalam meningkatkan maupun menurunkan probabilitas retensi karyawan.
|
baik dalam meningkatkan maupun menurunkan probabilitas retensi karyawan.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
""",
|
""",
|
||||||
unsafe_allow_html=True
|
unsafe_allow_html=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
plt.close()
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
st.error(f"Error generating SHAP plot: {str(e)}")
|
||||||
|
plt.close()
|
||||||
|
|
||||||
|
generate_shap_plot(X_test_class, explainer_class, shap_dict, predicted_class)
|
||||||
|
|
||||||
|
# top_factors = sorted(shap_dict.items(), key=lambda x: abs(x[1]), reverse=True)[:5]
|
||||||
|
|
||||||
|
# # Bangun kesimpulan dinamis
|
||||||
|
# summary = " dan ".join(
|
||||||
|
# [f"<b>{factor}</b> dengan kontribusi <b>{'+' if value > 0 else ''}{value:.2f}</b>" for factor, value in top_factors]
|
||||||
|
# )
|
||||||
|
|
||||||
|
# # Kesimpulan Dinamis
|
||||||
|
# st.markdown(
|
||||||
|
# f"""
|
||||||
|
# <div style="text-align: justify; font-family: 'Poppins', sans-serif;">
|
||||||
|
# Grafik ini menunjukkan bagaimana hasil prediksi dihitung berdasarkan beberapa faktor utama.
|
||||||
|
# Faktor-faktor yang paling memengaruhi hasil prediksi adalah {summary}.
|
||||||
|
# Faktor-faktor ini memberikan kontribusi signifikan terhadap hasil akhir prediksi,
|
||||||
|
# baik dalam meningkatkan maupun menurunkan probabilitas retensi karyawan.
|
||||||
|
# </div>
|
||||||
|
# """,
|
||||||
|
# unsafe_allow_html=True
|
||||||
|
# )
|
||||||
|
|
||||||
# Footer
|
# Footer
|
||||||
st.markdown(
|
st.markdown(
|
||||||
"""
|
"""
|
||||||
|
Reference in New Issue
Block a user