Streamline-Analyst
LLM驱动的端到端数据分析智能体,自动完成数据清洗、建模与可视化
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
LLM驱动的端到端数据分析智能体,自动完成数据清洗、建模与可视化
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
在数据科学领域,有一个让无数分析师头疼的场景:拿到一份陌生数据集后,需要反复尝试数据清洗、特征编码、模型选择等繁琐步骤,往往耗费数小时才能得到一个勉强可用的结果。如果有一个AI助手,能自动理解数据结构、推荐最佳处理方案、一键完成从预处理到建模的全流程呢?
Streamline Analyst 正是为解决这一痛点而生。这是一个基于大语言模型(LLM)的端到端数据分析智能体(Data Analysis Agent),由开发者 Wilson-ZheLin 于2024年1月创建。用户只需上传CSV/JSON/Excel数据文件,选择分析模式(分类/聚类/回归),AI就能自动完成数据清洗、特征工程、模型训练、结果可视化的全部工作。
该项目在GitHub上线后迅速获得关注,截至分析时已收获 482 stars 和 84 forks,被标记为 agent、gpt-4、llms 等热门话题。
Streamline Analyst 采用经典的 Python + Web UI 架构,核心技术栈包括:
| 层次 | 技术选型 | 说明 |
|---|---|---|
| Web框架 | Streamlit 1.31.0 | 快速构建数据科学Web应用 |
| LLM集成 | LangChain 0.1.6 + OpenAI SDK 1.3.4 | 连接GPT-4等大模型 |
| 数据分析 | Pandas 2.2.0, NumPy, Scikit-learn 1.4.0 | 数据处理与机器学习 |
| 可视化 | Plotly 5.18.0, Matplotlib 3.7.2, Seaborn | 交互式图表与统计图 |
| 高级模型 | XGBoost 2.0.3, imbalanced-learn | 梯度提升与不平衡数据处理 |
| NLP支持 | NLTK 3.8.1 | 自然语言处理能力 |
项目的核心智能体现在 app/src/llm_service.py 模块中。通过 LangChain 调用 GPT-4,AI能自主做出以下关键决策:
这种"AI引导AI"的设计理念是项目最大的技术亮点——不是简单调用API,而是让大模型理解任务上下文后给出最优决策建议。
Streamline-Analyst/
├── app/
│ ├── app.py # Streamlit主应用入口
│ ├── prediction_model.py # 分类模型Pipeline
│ ├── regression_model.py # 回归模型Pipeline
│ ├── cluster_model.py # 聚类模型Pipeline
│ ├── visualization.py # 可视化组件
│ ├── config/config.yaml # 配置文件
│ └── src/
│ ├── llm_service.py # LLM决策服务(核心)
│ ├── model_service.py # 模型训练与评估
│ ├── preprocess.py # 数据预处理
│ ├── handle_null_value.py # 缺失值处理
│ ├── pca.py # PCA降维
│ ├── predictive_model.py # 模型实现
│ └── plot.py # 图表绘制
├── requirements.txt # 依赖清单
└── sample_data/ # 示例数据
代码采用模块化设计,每个Pipeline(预测/回归/聚类)独立又复用共享的预处理组件,便于扩展新功能。
分类是项目最成熟的功能模块,支持以下算法:
每个模型训练后自动输出 混淆矩阵、ROC曲线、AUC值、F1分数 等评估指标,并支持交互式查看。
支持六种聚类算法:
聚类模块特别集成了 肘部法则(Elbow Rule) 和 轮廓系数(Silhouette Coefficient) 两种自动K值推荐算法,AI会根据数据特征给出最优聚类数建议。
涵盖主流回归算法:
评估指标包括 MAE、MSE、RMSE、R² 等。
项目在预处理环节投入了大量智能化设计:
| 功能 | 说明 |
|---|---|
| 缺失值处理 | 均值/中位数/众数填充、插值、新增类别 |
| 数据类型编码 | One-Hot、标签编码、整数映射 |
| PCA降维 | 主成分分析减少特征维度 |
| 去重 | 自动检测并移除重复记录 |
| 数据归一化 | Box-Cox变换和标准化处理 |
| 类别平衡 | SMOTE、ADASYN等过采样技术 |
| 数据划分 | 智能确定训练/测试集比例 |
使用Streamline Analyst只需三步:
整个过程由AI引导,用户几乎不需要数据分析背景知识。项目方承诺:使用GPT-4 turbo处理一次完整分析的成本约 $0.02,相当经济。
项目特别强调了数据隐私保护:
开发者提供了免费的Streamlit Cloud在线演示:streamline.streamlit.app,用户可以零安装体验完整功能。
项目依赖Python生态,无Docker支持,但依赖项清晰(requirements.txt列出了21个包),本地部署难度较低。
| 项目 | 要求 |
|---|---|
| Python版本 | >= 3.9 |
| 内存 | >= 4GB |
| 磁盘 | >= 1GB |
| GPU | 不需要 |
| 其他 | OpenAI API Key |
# 克隆仓库
git clone https://github.com/Wilson-ZheLin/Streamline-Analyst.git
cd Streamline-Analyst
# 安装依赖
pip install -r requirements.txt
# 启动应用
cd app
streamlit run app.py
部署后访问 http://localhost:8501 即可使用。
作者在README中透露了未来规划:
这些路线图表明项目不满足于当前的表格数据分析,而是要打造一个多模态的AI数据分析平台。
| 维度 | 评分 | 说明 |
|---|---|---|
| 功能完整性 | ⭐⭐⭐⭐ | 覆盖主要ML任务,预处理全面 |
| 技术创新性 | ⭐⭐⭐⭐⭐ | LLM驱动决策,行业领先 |
| 代码质量 | ⭐⭐⭐⭐ | 模块化好,文档清晰 |
| 部署便捷性 | ⭐⭐⭐ | 无Docker,本地安装需Python环境 |
| 社区活跃度 | ⭐⭐⭐ | 更新频率下降 |
适合人群:数据分析师、产品经理、非技术背景的数据爱好者,以及希望快速验证数据假设的开发者。