🥑Streamlit构建机器学习模型界面
Streamlit | 机器学习 | Python
背景
Streamlit是一个Python库,可帮助我们为没有HTML / CSS / JS的模型开发UI。 大多数模型都停留在Jupyter Notebook且没有吸引力。 然而,使用Streamlit,您可以为模型创建一个干净的界面并将其展示给其他人。 构建界面可使用户以更加用户友好的格式使用您的模型。
您无需处理HTML / CSS / JSS
支持markdown
它具有许多可用的预构建窗口小部件,从而进一步减少了您花费在构建UI上的时间
建立一个响应式用户界面
使用Streamlit共享易于部署Streamlit应用程序
它是开源的,您可以根据需要创建窗口小部件
本文将建立一个逻辑回归模型,以预测一个人是否能度过泰坦尼克号灾难。 构建模型后,我们将使用Streamlit为模型构建一个Web应用程序和一个UI。 该网络应用将允许用户输入值并获得预测结果。
准备
本文的重点是Streamlit,因此需要熟悉使用scikit-learn构建机器学习模型。
对Python有很好的了解
基本了解数据清理和标准技术,例如数值编码,单次热编码
熟悉scikit-learn库
熟悉Logistic回归会有所帮助,但不是必需的
熟悉Pandas库
对Matplotlib库的基本了解
库安装
导入库
逻辑回归模型
首先,我们将加载Titanic数据集并处理我们的数据集以满足我们的要求。您可以从此链接下载数据集。
我们导入数据集并创建一个数据框。
您可以打印数据框以检查其中的列。
在我们的逻辑回归模型可以使用它之前,我们需要对我们的数据执行以下操作。
为“性别”特征分配一个数值。
在“ Pclass”特征上使用一键编码。
在“年龄”列中填写缺失的值。
仅选择所需的功能。
我们将定义一个函数来转换我们的数据,以使其可用于我们的Logistic回归模型。
处理数据
对于性别列,如果乘客是男性,我们将值设置为0,如果乘客是女性,则将值设置为1。
我们使用平均值来填充年龄列中的缺失数据。
我们对Pclass使用一键编码。
由于我们不专注于构建模型,因此我们只会从数据框中选择6个特征。
我们将使用70–30的比例来拆分数据集。
我们将需要缩放数据,因此它的均值= 0,标准差= 1。
构建模型
训练完模型后,我们将存储模型的准确性得分。
Streamlit
要运行流式应用程序,请键入以下命令。
您应该会看到一个空白屏幕,因为我们目前没有任何组件正在显示。在右上角,选择“始终重新运行”。这告诉Streamlit每次我们对代码进行更改时都要重新加载。
标题和输入Dataframe
我们将在网络应用程序的这一部分中使用以下函数:
title(str):此方法类似于<h1>标记。它以字符串作为参数,并将文本显示为标题。
subheader(str):类似于标题方法,但是显示的文本字体小于标题显示的字体。
table(dataframe):table()方法将一个dataframe作为参数并显示它。您也可以使用.dataframe()方法,而.table()方法显示的外观更好看。
st.table()的替代方法是st.dataframe()。它们都支持一个数据框并可以显示它,但是我更喜欢st.table(),因为它看起来更好。
模型性能
用户输入
接下来,我们允许用户输入数据并显示预测。
显示预测
根据预测,我们将显示一条文本消息。
Last updated