大家好,我是何三,80后老猿,独立开发者
最近发现很多小伙伴在问:“有没有既能快速开发机器学习模型,又能一键生成可视化页面的工具?”还真有!今天给大家安利一个「懒人组合」——PyCaret 负责搞定机器学习全流程,Streamlit 帮你把结果变成酷炫的网页应用。全程代码简单到复制粘贴就能用,连小白也能轻松上手!
第一步:装工具
先装个更快的包管理工具 UV(比 pip 快 100 倍),打开命令行输入:
pip install uv
接着创建一个干净的虚拟环境(避免依赖冲突):
python -m venv myenv
source myenv/bin/activate # Mac/Linux
myenv\Scripts\activate.bat # Windows
用 UV 一次性安装所有依赖(PyCaret 需要 Python 3.8+):
uv pip install pycaret streamlit
装好后敲个命令测试 Streamlit 是否成功:
streamlit hello
如果浏览器弹出一个酷炫的演示页面,恭喜你!
第二步:搞个 Demo
假设我们想做一个「糖尿病预测系统」,用户上传数据后自动训练模型并展示结果。新建文件 demo.py
,代码如下:
import streamlit as st
from pycaret.classification import *
import pandas as pd
# 网页标题和说明
st.write("""
🍬 糖尿病预测小助手
上传你的数据,AI 自动分析!(示例数据可参考 PyCaret 自带的 'diabetes' 数据集)
""")
# 上传文件
uploaded_file = st.file_uploader("传个 CSV 文件", type="csv")
if uploaded_file:
data = pd.read_csv(uploaded_file)
st.success("数据读取成功!")
# 让用户选择预测目标列
target = st.selectbox("选择要预测的列", data.columns)
if st.button("开始训练模型"):
# PyCaret 一键初始化
setup(data=data, target=target, silent=True)
# 比较所有模型并选最佳
best_model = compare_models()
save_model(best_model, 'best_model')
# 显示结果
st.balloons()
st.write("最佳模型:", best_model)
st.download_button("下载模型", "best_model.pkl")
运行命令:
streamlit run demo.py
这时浏览器会自动打开页面,传个 CSV 文件(比如 PyCaret 的糖尿病数据集),选择目标列点击按钮,就能看到模型训练结果和下载链接。整个过程中 PyCaret 会自动处理数据预处理、特征工程、模型对比,连超参数调优都帮你搞定!
避坑指南
1. 如果报错提示缺少依赖,尝试 uv pip install pandas numpy scikit-learn
2. 文件上传慢?试试在 setup()
里加 session_id=123
固定随机种子
3. 想更美观?在代码开头加 st.set_page_config(page_title="糖尿病预测", layout="wide")
调整页面布局
既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。