先看看示例
作者提供的示例,实际效果取决于你的输入和使用工具。
输入
编辑虚构CSV字段sessions,errors,needs_help:1,4,1;2,3,1;1,2,1;3,4,1;8,0,0;7,1,0;9,0,0;6,1,0。前两列在预测时已知,目标为后续是否求助。各行独立,仅作流程示例。
输出
编辑示例 · 未运行
from io import StringIO
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix
csv = "sessions,errors,needs_help\n1,4,1\n2,3,1\n1,2,1\n3,4,1\n8,0,0\n7,1,0\n9,0,0\n6,1,0\n"
df = pd.read_csv(StringIO(csv))
X = df[["sessions", "errors"]]
y = df["needs_help"]
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.5, stratify=y, random_state=42)
model = make_pipeline(StandardScaler(), LogisticRegression(max_iter=1000))
model.fit(X_train, y_train)
pred = model.predict(X_test)
print(confusion_matrix(y_test, pred, labels=[0, 1]))检查点:目标列没有进入X;缩放器只在fit(X_train)时学习参数;这里不填写任何准确率。
方法说明
使用scikit-learn组织预处理、训练、评估、调参与模型流水线。
具体任务
建立表格分类或回归基线:明确目标与可用特征,先划分数据,再把预处理放进训练流水线。
检查评估是否混入测试信息:核对拟合位置、拆分方式和指标口径,修正评估过于乐观的来源。
必需材料
CSV或JSON训练数据及目标列说明
预测发生时已经可用的特征清单与禁止使用字段
训练测试拆分规则、评估指标和运行环境
可选材料
数据字典、缺失值规则与分组/时间字段
已有模型和评估代码
使用门槛
具备Python与基础统计知识,理解训练集和测试集区别;入口要求Python 3.11+与scikit-learn 1.7+兼容环境。
这个 Skill 额外提供的方法
把缺失处理、缩放与估计器放进Pipeline,确保每个交叉验证折只从训练部分学习预处理参数。
编辑示例(未运行)
为八条数值记录写分类流水线
任务:演示划分后拟合缩放器与分类器,不报告未运行的准确率。
输入:
编辑虚构CSV字段sessions,errors,needs_help:1,4,1;2,3,1;1,2,1;3,4,1;8,0,0;7,1,0;9,0,0;6,1,0。前两列在预测时已知,目标为后续是否求助。各行独立,仅作流程示例。
结果片段:
```python
from io import StringIO
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix
csv = "sessions,errors,needs_help\n1,4,1\n2,3,1\n1,2,1\n3,4,1\n8,0,0\n7,1,0\n9,0,0\n6,1,0\n"
df = pd.read_csv(StringIO(csv))
X = df[["sessions", "errors"]]
y = df["needs_help"]
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.5, stratify=y, random_state=42)
model = make_pipeline(StandardScaler(), LogisticRegression(max_iter=1000))
model.fit(X_train, y_train)
pred = model.predict(X_test)
print(confusion_matrix(y_test, pred, labels=[0, 1]))
```
检查点:目标列没有进入X;缩放器只在fit(X_train)时学习参数;这里不填写任何准确率。
代码由编辑撰写,未执行;八条合成记录只用于理解数据边界,不构成有效模型评估。真实数据应按时间、用户或业务分组重新设计拆分。
首次任务
请使用已安装的 scikit-learn Skill。
请用我的CSV或JSON数据建立可解释的scikit-learn基线代码,先核查目标泄漏和拆分规则,不加载任何来源不明的pickle模型。
请使用我的材料:
- CSV或JSON训练数据及目标列说明:{{CSV或JSON训练数据及目标列说明}}
- 预测发生时已经可用的特征清单与禁止使用字段:{{预测发生时已经可用的特征清单与禁止使用字段}}
- 训练测试拆分规则、评估指标和运行环境:{{训练测试拆分规则、评估指标和运行环境}}
先指出缺失信息,不编造。验收要求:
1. 目标列、未来信息和标识泄漏没有进入特征。
2. 预处理在Pipeline内拟合,拆分尊重时间或分组关系。
3. 评估只使用未参与训练的数据,并保存指标定义、样本数和版本;不展示未运行分数。
验收方法
目标列、未来信息和标识泄漏没有进入特征。
预处理在Pipeline内拟合,拆分尊重时间或分组关系。
评估只使用未参与训练的数据,并保存指标定义、样本数和版本;不展示未运行分数。
依赖与准备
完整scikit-learn目录;Python 3.11+、scikit-learn≥1.7及兼容NumPy/SciPy,示例另用pandas。入口提到以1.8.0测试,但不等于平台实测;绘图脚本才需matplotlib/seaborn。仓库MIT与入口BSD-3-Clause应分别保留,模型文件须来自可信来源。
使用边界
小样本代码仅能展示流程,不能据此宣称生产精度或模型公平可靠。
参考评估文档含实际pickle.load;只加载可信来源模型,首次使用CSV/JSON,不反序列化陌生模型。
入口含arXiv HTTP回退,优先HTTPS且不提交私人数据;时间或同用户重复数据需合适拆分,不能默认随机划分。
本页例子由编辑撰写,未运行;不是平台兼容认证或效果测试。
排错
训练效果很好而测试很差:检查泄漏、过拟合和拆分偏差,先用更简单模型与适合的验证方式定位原因。
安装sklearn包报错:按入口安装scikit-learn,代码中才import sklearn;核对Python、NumPy和SciPy版本兼容。
固定来源
https://github.com/K-Dense-AI/scientific-agent-skills/blob/65d6e786832e2c52832713117bbbf5096b56f77f/skills/scikit-learn/SKILL.md
许可
MIT(仓库);入口声明:BSD-3-Clause license。许可原文:https://github.com/K-Dense-AI/scientific-agent-skills/blob/65d6e786832e2c52832713117bbbf5096b56f77f/LICENSE.md
仓库热度
K-Dense-AI/scientific-agent-skills 仓库 47,152 Stars(2026-09-30 核验);这是父仓库指标,不是单个 Skill 的评分。