使用 Streamlit 库部署机器学习模型2025年6月20日 | 阅读 4 分钟 机器学习机器学习是计算机通过经验学习的能力,即使它没有被编程。机器学习是当前热门领域,全球许多顶尖公司都在利用它来改进其产品和服务。未在 Jupyter Notebook 中训练的机器学习模型是无用的。我们需要将这些模型提供给所有人,以便他们可以使用。 在本教程中,我们将训练一个鸢尾花物种分类器,然后使用 Streamlit 部署模型,Streamlit 是一个开源应用框架,可以让我们轻松部署 ML 模型。 理解 Streamlit 库Streamlit 允许我们使用简单的 Python 脚本为我们的机器学习项目创建应用程序。它还支持热重载,因此当我们在编辑和保存文件时,我们的应用程序可以实时更新。Streamlit API 允许我们用几行代码创建应用程序(如下所示)。声明一个变量与添加一个部件是相同的。我们不需要创建后端、处理 HTTP 请求或定义不同的路由。它易于设置和维护。 首先,我们将训练模型。作为本教程的主要目的,我们不会进行太多预处理。 训练模型所需模块和库:要开始,让我们运行以下命令安装必要的模块和库 数据集接下来,我们需要一个数据集来训练我们的模型。在本教程中,我们将使用 Iris 数据集。让我们加载数据集并查看其结构 代码 输出 ![]() 现在我们将删除 Id 列,因为它对于鸢尾花物种分类来说不是必需的。接下来,我们将数据分为训练集和测试集,并使用随机森林分类器。也可以使用任何其他分类器,例如逻辑回归或支持向量机。 代码 现在,让我们将数据分为特征 (X) 和目标变量 (y)。我们将使用 70% 的数据进行训练,30% 用于测试 代码 在本教程中,我们将使用随机森林分类器,但请随意探索其他分类器,如逻辑回归或支持向量机。我们应该准备模型并评估其准确性 代码 输出 Prediction Accuracy: 0.9777777777777777 我们得到了 97.78% 的准确率,这相当不错。 保存训练好的模型要使用此模型预测未知数据,我们必须保存它。pickle 是一种序列化和反序列化 Python 对象结构的工具。 代码 一个名为“classifier1.pkl”的新文件将在同一目录中创建。我们现在可以使用 Streamlit 部署我们的模型 - 使用 Streamlit 部署模型现在,让我们使用 Streamlit 部署我们的模型。创建一个新的 Python 文件并复制以下代码 代码 将文件保存为 .py 扩展名。在您的终端中,导航到包含该文件的目录并执行以下命令来运行 Streamlit 应用程序 语法 输出 ![]() app1.py 是编写 Streamlit 代码的地方。 网站在浏览器中打开后,我们就可以对其进行测试。我们还可以使用此方法部署深度学习和机器学习模型。 结论在本教程中,我们准备了一个基于 Iris 数据集的非规则林地分类器,并利用 Streamlit 库发送了模型。我们展示了如何保存准备好的模型并创建一个智能 Web 应用程序以进行预测。Streamlit 的简洁性和强大功能使其成为发送 AI 模型的绝佳选择。通过遵循本教程,您可以发送您自己的模型并创建易于使用的应用程序,供他人从您的 AI 解决方案中受益。 |
简介 存活评估是一种统计方法,用于观察在发生感兴趣事件(包括疾病复发、设备故障或死亡)之前经过的时间量。存活评估考虑了审查数据,即其中一些参与者的数据...
阅读 8 分钟
在金融、天气预报、医疗保健等领域,随时间记录的一系列时间序列观测数据无处不在。由于其时间性质和内部结构,时间序列数据的分析和预测带来了独特的挑战。近年来,机器学习……
阅读9分钟
KL 散度,简称 Kullback-Leibler 散度,是一种衡量一个概率分布与另一个预测分布的偏差程度的度量。它源于信息论和统计学,广泛应用于机器学习、统计学和信号处理等领域。
阅读 6 分钟
多标签分类是一种预测建模任务,其中实例可能与零个、一个或多个标签相关。多标签问题也称为非独占问题,其中解决方案和输入可能包含非独占标签,即单个... 实例可以附加多个标签。
阅读9分钟
粒子群优化是机器学习和其他领域用于优化问题的一种计算技术,它模拟了鸟群或鱼群的社会行为。在这个算法中,一组候选解决方案,“粒子”,在搜索空间中移动以寻找最优……
11 分钟阅读
什么是s?RNNs的一个子类是s(ESNs),它构成了储备池计算框架的一部分。与传统的RNNs不同,ESNs处理时间序列和序列数据,但使用不同的结构和训练方法。还假设输入到储备池的权重(W_in)和...
5 分钟阅读
简介 多类逻辑回归是用于预测涉及多个类别的分类任务的关键机器学习方法。与仅处理两个类别的二元逻辑回归方法相比,多类逻辑回归将此策略扩展到涵盖多个类别。在多类逻辑回归中创建模型...
阅读 4 分钟
引言 计算机视觉应用现在随处可见,而计算机视觉相关的图像编辑和检测是开发人员执行的最常见和最基本的任务。对象检测和识别用于电子商务、CCTV 监控、医学成像和自动驾驶。所有上述任务...
阅读 6 分钟
NLTK语料库是自然语言工具包(NLTK)项目开发的一个完整的文本语料库和词汇资源集合,用于自然语言处理(NLP)任务。这些语料库涵盖了广泛的主题、语言和体裁,使其在研究、培训方面具有无价的价值,...
阅读 12 分钟
权重初始化是训练神经网络的一个重要方面,影响其收敛速度、稳定性和整体性能。正确初始化神经网络的权重可以在训练过程中实现更快的收敛,并在未见过的数据上获得更好的泛化。神经网络可以被认为是...
阅读 10 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India