| name | regression-insight |
| description | 对 CSV/Excel 数据执行线性回归(OLS)或逻辑回归(Logistic),一键输出完整统计结果(包含回归系数、R²、p值、VIF等)和中文通俗解读。当用户提及回归分析、拟合模型、查看系数显著性、R方、p值、共线性(VIF),或使用关键词如 回归、regression、OLS、logit、拟合、显著性 时触发。 |
| license | MIT |
regression-analyzer
自动回归建模工具 —— 对表格数据执行线性回归(OLS)或逻辑回归(Logit),一键输出完整统计结果和中文通俗解读。
能力概览
| 功能 | 说明 |
|---|
| 线性回归 | OLS,输出系数、R²、调整 R²、F 检验、AIC/BIC、Durbin-Watson |
| 逻辑回归 | Logit,输出系数、Odds Ratio、Pseudo R²、似然比检验 |
| 多重共线性检测 | 每个自变量的 VIF 值 + 警告级别 |
| 通俗解读 | 用中文对每个指标和系数给出"什么意思/该怎么看"的说明 |
| 自动检测 | 目标变量为 0/1 时自动切换逻辑回归 |
Tooling
在 ZhiYuan/Pi 内必须通过 run_skill_script 执行本技能脚本,禁止用 bash 直跑 python3 或 python:
{
"skillId": "regression-insight",
"script": "scripts/regression_analyzer.py",
"args": ["<数据文件>", "--target", "<目标列>"]
}
args 与下方"详细用法"的命令行参数一一对应(去掉 python3 scripts/regression_analyzer.py 前缀)。
- 脚本依赖(pandas / numpy / scipy / statsmodels,见
requirements.txt)由应用管理的技能 Python 运行时保证,不需要也不应该手动 pip install 或寻找系统 Python。
- 若执行返回依赖缺失或运行时不可用错误,不要改用系统
python3 或手写替代实现(例如用纯 Python 循环重算回归)——直接报告该错误,说明需要技能 Python 运行时提供依赖。
Quick Start
{
"skillId": "regression-insight",
"script": "scripts/regression_analyzer.py",
"args": ["data.csv", "--target", "price"]
}
完整命令示例(展示参数映射,实际执行一律经 run_skill_script):
python3 scripts/regression_analyzer.py data.csv --target price
python3 scripts/regression_analyzer.py users.csv --target churn --features "age,income,tenure"
python3 scripts/regression_analyzer.py data.csv --target sales --output result.json
详细用法
以下命令示例仅用于展示参数映射——实际执行一律通过 run_skill_script,将参数放入 args 数组(见上方 Tooling 段)。禁止在 bash 中直跑 python3 调用本脚本。
基本调用
python3 scripts/regression_analyzer.py <数据文件> --target <目标列> [选项]
指定回归类型
python3 scripts/regression_analyzer.py data.csv -t y --type linear
python3 scripts/regression_analyzer.py data.csv -t label --type logistic
python3 scripts/regression_analyzer.py data.csv -t y --type auto
选择特征列
python3 scripts/regression_analyzer.py data.csv -t price -f "sqft,bedrooms,bathrooms"
python3 scripts/regression_analyzer.py data.csv -t price
参数说明
| 参数 | 缩写 | 必填 | 默认值 | 说明 |
|---|
input | — | 是 | — | 输入文件路径(CSV/TSV/Excel/JSON) |
--target | -t | 是 | — | 目标变量(因变量)列名 |
--features | -f | 否 | 全部数值列 | 自变量列名,逗号分隔 |
--type | -T | 否 | auto | 回归类型:linear / logistic / auto |
--output | -o | 否 | 标准输出 | 结果 JSON 保存路径 |
--no-const | — | 否 | false | 不添加截距项 |
--keep-na | — | 否 | false | 保留缺失值行(调试用) |
输出结构(JSON)
{
"type": "linear",
"r_squared": 0.8523,
"r_squared_adj": 0.8471,
"f_statistic": 162.34,
"f_p_value": 0.0,
"coefficients": {
"sqft": {"coefficient": 135.42, "p_value": 0.0001, ...},
"bedrooms": {"coefficient": 8021.5, "p_value": 0.032, ...}
},
"vif": {"sqft": 2.31, "bedrooms"
依赖
运行时依赖(pandas、numpy、statsmodels、scipy)由应用管理的技能 Python 运行时按 requirements.txt 提供,无需也不应手动安装。仅在本地独立调试(不经过 ZhiYuan 运行时)时才需要:
pip install pandas numpy statsmodels scipy