Streamlit功能选择设置

在 Streamlit 中,我们可以利用 st.sidebar 组件在侧边栏创建选择功能,并根据用户的选择更新主页的显示内容。本文介绍了几种设置侧边选择功能的方法。

option = st.sidebar.radio('',['样本预测','模型性能'])#第一个参数为label,即功能的标签,第二个参数为由表示功能的字符串组成的列表。
if option == '样本预测':
#if内是对样本预测这个功能的具体实现,将会展示在主栏
    st.write("请输入样本特征进行分类预测:")
    uploaded_file = st.file_uploader("上传文件", type=["csv"])
    if uploaded_file is not None:
        try:
            file = pd.read_csv(uploaded_file)
            data_list = []
            for item in file.values:
                data_list.append([item[0]] + [float(i) for i in item[1].split(',')])
            data = pd.DataFrame(np.array(data_list))
            data.columns = ['id'] + [str(i) for i in range(len(data_list[0]) - 1)]
            train = data.drop(['id'], axis=1)
            y = model.predict(train, num_iteration=model.best_iteration)
            y = np.argmax(y, axis=1)
            st.write(y)
            y = pd.DataFrame(y)
            csv_data = y.to_csv(index=False, header=False)
            st.download_button(
                label="预测结果",
                data=csv_data,
                file_name="result.csv",
                mime="text/csv"
            )
        except Exception as e:
            st.error(f"读取文件时出错: {e}")
if option =='模型性能':
##模型性能功能的代码实现此处省略

第一种实现方式展示

option1 = st.sidebar.button('模型预测')#使用sidebar.button()函数实现,第一个功能
if option1:
    st.write("请输入样本特征进行分类预测:")
    uploaded_file = st.file_uploader("上传文件", type=["csv"])
    if uploaded_file is not None:
        try:
            file = pd.read_csv(uploaded_file)
            data_list = []
            for item in file.values:
                data_list.append([item[0]] + [float(i) for i in item[1].split(',')])
            data = pd.DataFrame(np.array(data_list))
            data.columns = ['id'] + [str(i) for i in range(len(data_list[0]) - 1)]
            train = data.drop(['id'], axis=1)
            y = model.predict(train, num_iteration=model.best_iteration)
            y = np.argmax(y, axis=1)
            st.write(y)
            y = pd.DataFrame(y)
            csv_data = y.to_csv(index=False, header=False)
            st.download_button(
                label="预测结果",
                data=csv_data,
                file_name="result.csv",
                mime="text/csv"
            )
        except Exception as e:
            st.error(f"读取文件时出错: {e}")
            
st.sidebar.markdown('-------')功能选项之间可以插入横线进行分割

option2 = st.sidebar.button('模型性能')
if option2:
    #此处代码省略

第二种方法的展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值