JERNGOC commited on
Commit
c72b33d
·
verified ·
1 Parent(s): 07c839f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -12
app.py CHANGED
@@ -61,28 +61,32 @@ if uploaded_file is not None:
61
  feature_importance = feature_importance.sort_values('Random Forest', ascending=False)
62
 
63
  # 繪製特徵重要性圖表
64
- def plot_importance(model):
65
- plt.figure(figsize=(10, 6))
66
- plt.bar(feature_importance['Feature'], feature_importance[model])
67
- plt.title(f'{model} Feature Importance')
 
 
 
 
 
 
68
  plt.xlabel('Features')
69
  plt.ylabel('Importance')
70
- plt.xticks(rotation=45, ha='right')
 
71
  st.pyplot(plt)
72
 
73
  # Streamlit UI
74
  st.title("自定義CSV檔案分析 - 特徵重要性分析")
75
- st.write("選擇一個模型來查看其特徵重要性:")
76
-
77
- # 下拉選擇模型
78
- model = st.selectbox("選擇模型", ["Linear Regression", "CART", "Random Forest"])
79
 
80
  # 顯示圖表
81
- plot_importance(model)
82
 
83
  # 顯示數據框
84
- st.write(f"{model} 特徵重要性數據:")
85
- st.dataframe(feature_importance[['Feature', model]])
86
 
87
  else:
88
  st.error("上傳的檔案中找不到 'target' 欄位,請確認檔案格式。")
 
61
  feature_importance = feature_importance.sort_values('Random Forest', ascending=False)
62
 
63
  # 繪製特徵重要性圖表
64
+ def plot_importance():
65
+ plt.figure(figsize=(12, 8))
66
+ width = 0.25 # 條形圖寬度
67
+ indices = np.arange(len(feature_importance['Feature']))
68
+
69
+ plt.bar(indices - width, feature_importance['Linear Regression'], width=width, label='Linear Regression')
70
+ plt.bar(indices, feature_importance['CART'], width=width, label='CART')
71
+ plt.bar(indices + width, feature_importance['Random Forest'], width=width, label='Random Forest')
72
+
73
+ plt.title('Feature Importance Comparison Across Models')
74
  plt.xlabel('Features')
75
  plt.ylabel('Importance')
76
+ plt.xticks(indices, feature_importance['Feature'], rotation=45, ha='right')
77
+ plt.legend()
78
  st.pyplot(plt)
79
 
80
  # Streamlit UI
81
  st.title("自定義CSV檔案分析 - 特徵重要性分析")
82
+ st.write("以下是 Linear Regression、CART 和 Random Forest 的特徵重要性對比圖表:")
 
 
 
83
 
84
  # 顯示圖表
85
+ plot_importance()
86
 
87
  # 顯示數據框
88
+ st.write("特徵重要性數據:")
89
+ st.dataframe(feature_importance)
90
 
91
  else:
92
  st.error("上傳的檔案中找不到 'target' 欄位,請確認檔案格式。")