但是上述代码显示st.session_state has no attribute "model". Did you forget to initialize it? 的错误
时间: 2024-03-17 07:46:26 浏览: 25
这个错误通常是由于在上一次运行时 `st.session_state.model` 对象没有被初始化导致的。你可以尝试在 `my_form` 表单的提交按钮被按下时,初始化 `st.session_state.model` 对象,例如:
```
if "model" not in st.session_state:
st.session_state.model = None
submitted = st.form_submit_button("Submit")
if submitted:
if st.session_state.model is None:
st.session_state.model = RandomForestClassifier(n_estimators=estimators0,max_depth=max_depth0, random_state=1234)
else:
st.session_state.model.n_estimators = estimators0
st.session_state.model.max_depth = max_depth0
st.session_state.model.fit(X_train, y_train)
y_pred = st.session_state.model.predict(X_test)
st.table(confusion_matrix(y_test, y_pred))
st.write(f1_score(y_test, y_pred))
```
这样修改后,如果 `st.session_state.model` 对象不存在,就初始化一个。如果存在,就更新 `n_estimators` 和 `max_depth` 属性的值。