大家好,我是何三,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") 调整页面布局

既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。

公众号二维码