model-recommendation
Skill40 starsChanged 21 days agoMITView on GitHub
模型自动推荐 —— 根据数据特征和预测需求,智能推荐线性回归/逻辑回归/SVM/神经网络/Softmax 回归。 当用户提到"推荐模型"、"选什么模型"、"用什么算法"、"模型选择"、"该用哪个"、 "帮我选模型"、"哪个算法合适"、"用什么方法预测"、"线性回归还是"等类似场景时触发。 适用于任何"我有数据和预测目标,但不确定该用什么模型"的需求。 不要手动画决策树——必须调用此技能来统一处理。
1 other project uses a version of this.
Adopted by
Most recently taken up by
- MarieLynneBlock/arcanum-artifextheir own version, first seen Nov 1, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- MarieLynneBlock/arcanum-artifex★ 4same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository7 other files it gives its agents.
- anomaly-detectionSkill
- linear-regressionSkill
- logistic-regressionSkill
- neural-network-diagnosisSkill
- neural-networkSkill
- recommender-systemSkill
- svmSkill
The file
Files
模型自动推荐(Model Recommendation)
概述
此技能根据用户提供的数据特征和预测需求,自动推荐最合适的监督学习模型。
覆盖的模型:
| 模型 | 适用场景 |
| 📏 线性回归 | 预测连续数值,关系大致线性 |
| 🎯 逻辑回归 | 二分类,需要概率和可解释性 |
| ⚔️ SVM | 二分类,样本少/特征多,追求干净边界 |
| 🧠 神经网络 | 回归或分类,数据海量、关系复杂 |
| 📊 Softmax 回归 | 多分类,数据不大、关系简单 |
| 🧠+📊 神经网络 + softmax | 多分类,数据海量、关系复杂 |
核心决策逻辑
你要预测的 Y 是什么类型?
│
├── 连续数值(房价、温度、销量……)
│ ├─ 关系简单/线性 → 线性回归
│ └─ 关系复杂/非线性 → 神经网络(回归模式)
│
├── 二分类:是/否(会不会违约、是不是垃圾邮件……)
│ ├─ 需要概率 + 可解释 → 逻辑回归
│ ├─ 不要概率 + 样本少/特征多 → SVM
│ └─ 数据海量 + 关系复杂 → 神经网络
│
└── 多分类:K 个类别(K≥3,猫/狗/鸟……)
├─ 数据少 + 关系简单 → Softmax 回归
├─ 样本少 + 特征多 → SVM(One-vs-One)
└─ 数据海量 + 关系复杂 → 神经网络 + softmax交互流程
严格按以下 5 步执行,不要跳过任何一步:
Step 0:先确认输入是否足够
在推荐模型前,必须确认以下信息;缺失时先提问,不要根据模糊描述直接选择算法:
- 任务类型:连续预测、二分类、多分类、异常检测还是推荐?
- 目标变量或评分信号:目标列叫什么,取值示例是什么?
- 数据规模:样本行数、特征数量、类别数量(如适用)。
- 数据形态:CSV 路径或 3-5 行样例;是否存在缺失值、文本字段或类别不平衡?
- 业务约束:是否需要概率、可解释性或低延迟?
如果用户只能提供自然语言描述,先用以下模板引导:
我想解决:
数据位置/样例:
目标列或评分列:
样本量和特征数:
缺失值/文本字段/类别不平衡:
是否需要概率或可解释性:信息仍不足时,输出“暂不能可靠推荐”的原因,并给出需要补充的最少字段;不要把猜测写成确定结论。
Step 1:确认预测目标(Y 的类型)
向用户提问:
你要预测的 Y(目标变量) 是什么类型的?
- A. 连续数值 —— 比如房价、温度、销量、分数……
- B. 二分类(是/否) —— 比如会不会违约、是不是垃圾邮件、有没有病……
- C. 多分类(3 类及以上) —— 比如识别图片是猫/狗/鸟、判断水果是苹果/橘子/榴莲……
根据用户回答,确定后续路线。
Step 2:收集数据和场景信息
根据 Y 的类型,针对性提问。以下问题必须逐条问到:
所有路线必问:
- 数据量级:大约有多少条训练样本?
- A. 几百条及以下 B. 几千条 C. 几万条 D. 几十万条以上
- 特征数量:每个样本大约有多少个特征(输入变量)?
- A. 几个(≤5) B. 几十个 C. 几百个 D. 几千个以上
- 可解释性需求:你是否需要向别人解释"模型为什么给出这个预测结果"?
- 例如:银行审批贷款需要告诉客户"因为你的信用分太低"→ 需要可解释
- 例如:图片识别猫狗 → 不需要解释
- 概率需求(仅二分类和多分类):你是否需要模型输出概率(如"得病概率 85%"),而不仅仅是类别标签?
回归路线额外问:
- 线性程度:输入变量和 Y 之间,大致是线性关系吗?
- 例如:经验告诉你"面积每增加 1㎡,房价大致涨 8000"→ 大致线性
- 例如:完全不知道什么关系 → 不确定
Step 3:根据决策表推荐模型
根据用户在第 1、2 步的回答,匹配以下决策规则,给出推荐。 推荐结果必须列出:已知事实、仍缺失的信息、首选模型、备选模型,以及用户确认后才会调用的具体技能。
📏 回归路线(Y = 连续数值)
| 条件 | 推荐模型 | 理由 |
| 关系大致线性 | 线性回归 | 最简单、最快、可解释性最强;系数直接告诉你"x 每变 1,y 变多少" |
| 关系不确定但数据少(<1万) | 线性回归(先试) | 先用线性回归做 baseline,如果效果差再考虑升级 |
| 关系明显非线性 + 数据多(≥1万) | 神经网络(回归模式) | 神经网络自动学习非线性特征交互,不需要手动构造 x₁²、x₁x₂ 等多项式项 |
| 需要高可解释性 | 线性回归 | 神经网络的"黑盒"性质无法满足解释需求;线性回归每个系数都有明确物理含义 |
🎯 二分类路线(Y = 是/否)
| 条件 | 推荐模型 | 理由 |
| 需要概率输出 | 逻辑回归 | 天然输出 0~1 的概率,"得病概率 82%" 这种信息对决策至关重要 |
| 需要高可解释性 | 逻辑回归 | 每个特征的权重 θⱼ 直接告诉你"这个因素对结果影响多大、正向还是负向" |
| 不需要概率 + 样本少(<1万)+ 特征多 | SVM + 高斯核 | SVM 的经典战场——高维小样本。只有支持向量参与决策,抗过拟合能力强 |
| 不需要概率 + 特征数远大于样本数 | SVM + 线性核 | 这种极端场景高斯核反而容易过拟合,线性核更稳 |
| 数据海量(≥10万)+ 关系复杂 | 神经网络 | 数据足够多时,神经网络自动学习复杂决策边界,表现通常优于 SVM |
| 不确定选什么 | 先逻辑回归,不行换 SVM | 逻辑回归快速建立 baseline;如果效果不够且不需要概率,升级到 SVM + 高斯核 |
📊 多分类路线(Y = K 个类别,K≥3)
| 条件 | 推荐模型 | 理由 |
| 类别少(3~5 类)+ 数据少 + 关系简单 | Softmax 回归 | 就是逻辑回归的多分类版本——简单、快、可解释,不需要训练多个模型 |
| 样本少 + 特征多 | SVM(One-vs-One) | 每两类间训练一个 SVM,在高维小样本场景表现好 |
| 类别多(≥5)+ 数据海量 | 神经网络 + softmax | 一个模型直接输出 K 个概率,不需要像 SVM 那样训练 K(K−1)/2 个模型 |
| 关系明显非线性 + 数据多 | 神经网络 + softmax | 隐藏层自动学习特征交互,softmax 输出层给出 K 个归一化概率 |
Step 4:输出推荐结果
按以下格式输出,让用户一目了然:
## 🎯 模型推荐
### 首选:{模型名称}
**理由:**
1. {理由 1}
2. {理由 2}
3. {理由 3}
### 备选:{备选模型名称}
**什么情况下改用:**
- {条件 1}
- {条件 2}
### ⚙️ 关键参数提示
- {参数 1}:{说明和作用}
- {参数 2}:{说明和作用}Step 5:询问是否调用对应技能
如果用户已有具体数据,询问是否需要直接跳转到已有技能执行预测:
你已经有具体数据了吗?如果需要,我可以直接调用
{对应技能名}技能帮你跑模型。可用的技能:
linear-regression—— 线性回归logistic-regression—— 逻辑回归svm—— SVM 支持向量机(线性核 / 高斯核,自动判断非线性需求)neural-network—— 神经网络(分类和回归都支持)(注:Softmax 回归的技能尚未搭建,如需使用可以手动编写代码。)
模型速查表
以下为五个核心模型的一句话总结和典型场景:
| 模型 | 一句话 | 最典型的三个场景 |
| 📏 线性回归 | 画一条直线猜数值 | 房价预测、销量预测、薪资估算 |
| 🎯 逻辑回归 | 画一条线分两类,附赠概率 | 疾病诊断、垃圾邮件、信用审批 |
| ⚔️ SVM | 只盯边界附近的关键样本 | 文本分类、基因诊断、图像小样本分类 |
| 🧠 神经网络 | 给够数据,自己找规律 | 图像识别、语音识别、复杂推荐系统 |
| 📊 Softmax 回归 | 逻辑回归的"多分类版本" | 简单多分类 baseline、教学场景、快速原型 |
详细的五模型横向对比表见 references/model-comparison-table.md。
关键边界情况处理
特征数 >> 样本数(p >> n)
这是 SVM 的强项。推荐 SVM + 线性核,正则化项天然防止过拟合。逻辑回归加 L2 正则化也可用,但 SVM 在这种场景通常更稳。
样本极大(百万级)
神经网络是唯一可行的选择。SVM 的对偶问题求解复杂度是 O(m²)~O(m³),百万样本根本跑不动。
用户同时需要概率和复杂边界
推荐 神经网络 + sigmoid/softmax 输出。它既有概率输出,又能处理非线性。
用户什么都不确定
建议:先用简单模型(线性回归/逻辑回归)跑一个 baseline → 如果效果差 → 升级到 SVM 或神经网络。不要在没看到数据之前就上最复杂的模型。
补充说明
- 本技能只做推荐,不代替用户做最终决定。每个推荐都附带理由,让用户理解"为什么"。
- 推荐的准确性取决于用户提供的信息质量。如果用户说"不确定",优先推荐简单模型。
- 如果用户的问题超出了本技能覆盖的 5 个模型范围(如无监督学习、强化学习),直接告知并建议查阅其他资料。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

