看上去高端的网站兰州建设局网站
news/
2025/10/4 20:40:37/
文章来源:
看上去高端的网站,兰州建设局网站,长沙seo优化公司,小众网站论文全文共2485字#xff0c;预计学习时长12分钟图源#xff1a;unsplash数据科学的生命周期主要包括数据收集、数据清理、探索性数据分析、模型构建和模型部署。作为数据科学家或机器学习工程师#xff0c;能够部署数据科学项目非常重要#xff0c;这有助于完成数据科学生命周…全文共2485字预计学习时长12分钟图源unsplash数据科学的生命周期主要包括数据收集、数据清理、探索性数据分析、模型构建和模型部署。作为数据科学家或机器学习工程师能够部署数据科学项目非常重要这有助于完成数据科学生命周期。通过既有框架(如Django或Flask)对传统机器学习模型进行部署可能是一项艰巨耗时的任务。本文就将展示如何在Python库中使用streamlit用不到50行的代码构建一个简单的基于机器学习的数据科学web应用程序。数据科学生命周期鸢尾花预测应用程序概述我们将构建一个简单的机器学习web应用程序用于预测鸢尾花的类标签包括setosa、versicolor和virginica。这需要用到三个Python库即streamlit、pandas和scikitlearn。应用程序的概念流程主要由两个部分组成前端和后端。图源unsplash在前端左侧栏将接受与鸢尾花特征(如花瓣长度、花瓣宽度、萼片长度和萼片宽度)相关的输入参数。这些特性会被传送到后端后端的训练模型将预测类标签作为输入参数的函数预测结果再发回前端显示。在后端用户输入的参数将被保存到一个数据帧中作为测试数据。同时利用scikit-learn库中的随机森林算法建立分类模型。最后将该模型应用于预测用户输入的数据并将预测的类标签返回到三种花卉类型setosa、versicolor或virginica。此外该模型还能够预测概率从而辨别预测类标签的相对可信度。安装必备库本教程使用到的三个Python库——streamlit pandas 和 scikit-learn可以通过pip install命令进行安装。安装streamlitpip install streamlit安装pandaspip install pandas安装scikit-learnpip install -U scikit-learnweb应用程序代码现在就来一探究竟吧我们要构建的应用程序只需不到50行代码(确切地说是48行)如果删除空行和注释(占12行)就可以降至36行。import streamlit as st import pandas as pd from sklearn import datasets from sklearn.ensemble importRandomForestClassifier st.write( # Simple Iris Flower Prediction App This app predicts the **Iris flower** type! ) st.sidebar.header(User InputParameters) defuser_input_features(): sepal_length st.sidebar.slider(Sepal length, 4.3, 7.9, 5.4) sepal_width st.sidebar.slider(Sepal width, 2.0, 4.4, 3.4) petal_length st.sidebar.slider(Petal length, 1.0, 6.9, 1.3) petal_width st.sidebar.slider(Petal width, 0.1, 2.5, 0.2) data {sepal_length: sepal_length, sepal_width: sepal_width, petal_length: petal_length, petal_width: petal_width} features pd.DataFrame(data, index[0]) return features df user_input_features() st.subheader(User Inputparameters) st.write(df) iris datasets.load_iris() X iris.data Y iris.target clf RandomForestClassifier() clf.fit(X, Y) prediction clf.predict(df) prediction_proba clf.predict_proba(df) st.subheader(Class labels andtheir corresponding index number) st.write(iris.target_names) st.subheader(Prediction) st.write(iris.target_names[prediction]) #st.write(prediction) st.subheader(PredictionProbability) st.write(prediction_proba)逐行解读代码来看看每一行(或代码块)的作用导入库· 第1-4行导入streamlit 和 pandas库分别称为st和pd。具体来说从scikitlearn库中(sklearn)导入datasets软件包然后使用loader函数加载鸢尾花数据集(第30行)。最后将专门从sklearn.ensemble软件包中导入RandomForestClassifier()函数。侧栏面板· 第11行通过使用st.sidebar.header()函数来添加侧栏的标题文本。请注意在st和header之间使用sidebar(所以是st.sidebar.header()函数)可以向streamlit库传达信息把标题文本放在侧栏面板中。· 第13-23行此处创建一个名为user_input_features()的自定义函数该函数主要是将用户输入的参数进行整合(即4个花的特征可以通过滑动条接受用户指定的值)并以数据帧的形式返回结果。值得注意的是每个输入参数都将通过滑动按钮接受用户指定的值如st.sidebar.slider(‘Sepal length’, 4.3, 7.9, 5.4)表示萼片长度。四个输入参数中的首个参数对应于在滑动按钮上方指定的标签文本在本例中为“萼片长度”而接下来的两个值对应于滑动条的最小值和最大值。最后末尾输入参数表示加载web应用程序时选择的默认值该值设置为5.4。模型建立· 第25行如上所述以数据帧形式整合的用户输入参数信息将分配到df变量中。· 第30-38行该代码块适用于实际模型构建阶段。第30行—从sklearn.datasets软件包中加载鸢尾花数据集并将其分配给iris变量第31行—创建X变量包含iris.data中提供的4个花的特征(即萼片长度萼片宽度花瓣长度和花瓣宽度)第32行—创建Y变量与iris.target中提供的鸢尾花类标签相关第34行—将随机森林分类器(特别是RandomForestClassifier()函数)分配给clf变量第35行—通过clf.fit()函数使用X和Y变量作为输入参数来训练模型。这本质上意味着通过使用4个花的特征(X)和类标签(Y)训练来建立分类模型。图源unsplash主面板· 第6-9行使用st.write()函数输出文本在本示例中使用该函数以标记格式输出此应用程序的标题。使用#符号表示标题文本(第7行)而后一行(第8行)提供应用程序的正常描述性文本。· 第27-28行第一部分将给出“User Input parameters”的子标题文本(使用st.subheader函数进行分配)。下一行将通过使用st.write()函数来显示df数据帧的内容。· 第40-41行在主面板的第二部分中输出类标签(即setosa、versicolor和virginica)及其相应索引号(即0、1和2)。· 第43-44行主面板的第三部分显示的是预测类标签。此处需要注意的是prediction变量的内容(第45行)是预测的类索引号如果要显示类标签(即setosa、versicolor和virginica)则需在iris.target_names[prediction]的括号内使用prediction变量作为参数。· 第47-48行主面板的第四部分也就是最后一部分显示了预测概率。该概率值能够识别预测类标签的相对可信度(概率值越高该预测的可信度就越高)。运行web应用程序因此web应用程序的代码被保存到iris-ml-app.py文件中现在准备运行。可以在命令提示符(终端窗口)中输入以下命令来运行该应用程序streamlit run iris-ml-app.py之后会看到以下消息 streamlit run iris-ml-app.pyYou can now view yourStreamlit app in your browser.Local URL: http://localhost:8501Network URL: http://10.0.0.11:8501几秒钟会弹出一个互联网浏览器窗口通过网址http://localhost:8501引导用户进入创建的web应用程序 如下所示鸢尾花预测应用程序截图。点击左上角按钮(顶部窗口)可以显示侧面板(底部窗口)。大功告成用Python创建了机器学习web应用程序就是这么简单快去亲自操作一下吧。留言点赞关注我们一起分享AI学习与发展的干货如转载请后台留言遵守转载规范
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/927533.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!