Scikit learn ml
Skill findscripter/everything-skills/03-data/scikit-learn-ml
类书式 AI Agent 技能大典 · 精选/中文化/互见成网的 500+ 开源技能,可作为 Claude Code 插件市场一键安装。A curated, cross-referenced encyclopedia of 500+ open-source agent skills.
npx -y skills add findscripter/everything-skills --skill scikit-learn-mlAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
当用 Python 做经典机器学习(分类/回归/聚类/降维/特征预处理/模型评估/超参调优)时使用;用 scikit-learn 搭建可复现的 Pipeline 并产出训练好的模型与评估报告;不适用于深度学习/大模型、GPU 训练、超内存的大规模分布式训练。触发词:scikit-learn、sklearn、机器学习、分类、回归、聚类、Pipeline、交叉验证、超参调优
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
8.2 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it
name: scikit-learn-ml title: scikit-learn 机器学习 description: 当用 Python 做经典机器学习(分类/回归/聚类/降维/特征预处理/模型评估/超参调优)时使用;用 scikit-learn 搭建可复现的 Pipeline 并产出训练好的模型与评估报告;不适用于深度学习/大模型、GPU 训练、超内存的大规模分布式训练。触发词:scikit-learn、sklearn、机器学习、分类、回归、聚类、Pipeline、交叉验证、超参调优 domain: 数据/misc triggers: [scikit-learn, sklearn, 机器学习, 分类, 回归, 聚类, 降维, Pipeline, 交叉验证, GridSearchCV, 超参调优, 特征预处理, 模型评估] tags: [scikit-learn, sklearn, machine-learning, classification, regression, clustering, pipeline, python, 数据/misc] level: 进阶 status: stable agents: [claude-code, codex, cursor, gemini-cli] tools: [python, scikit-learn, pandas, numpy, matplotlib] requires: [] related: [csv-data-cleaner] combines_with: [] license: MIT source: sickn33/antigravity-awesome-skills source_license: MIT
何时使用
适用场景:
- 用表格(结构化)或文本数据做经典机器学习:分类、回归、聚类、降维、特征预处理。
- 需要交叉验证评估模型、用网格/随机搜索调超参、横向对比多个算法。
- 搭建可复现、防数据泄漏的生产级 Pipeline(含混合数值/类别特征)。
- 想要可解释的传统模型,而非黑盒深度网络。
不该用的边界:
- 深度学习、大语言模型、计算机视觉/NLP 端到端建模 → 用 PyTorch / TensorFlow / HuggingFace。
- 需要 GPU 训练、或数据远超单机内存的分布式训练 → 用 Spark MLlib / Dask-ML / XGBoost-GPU 等。
- 仅做数据清洗(去重/缺失值/类型规整)→ 用
csv-data-cleaner,清洗后再进本技能建模。 - 不能替代环境相关的验证、测试或专家复核;缺少标注、目标列或成功标准时先澄清。
步骤 / 指令
按序执行,每步先观察再动手:
- 探查数据:
pd.read_csv读入,确认特征列、目标列、dtypes、缺失率,区分数值列与类别列。 - 划分数据:
train_test_split,分类任务必须stratify=y保持类别分布,固定random_state。 - 构造预处理:数值列
SimpleImputer+StandardScaler,类别列SimpleImputer+OneHotEncoder(handle_unknown='ignore'),用ColumnTransformer按列组合。 - 组装 Pipeline:
Pipeline([('preprocessor', ...), ('model', ...)]),把预处理和估计器串成一个对象——这是防数据泄漏的关键。 - 选算法:分类/回归先试
RandomForest/GradientBoosting(无需缩放、稳健)做基线;需缩放的(SVM/KNN/线性带正则/KMeans)务必放进 Pipeline。 - 交叉验证对比:
cross_val_score(pipeline, X, y, cv=5, scoring=...)横向比多个候选模型。 - 调超参:
GridSearchCV/RandomizedSearchCV,参数名用步骤名__参数双下划线寻址(如classifier__n_estimators)。 - 测试集评估:用
best_estimator_在保留测试集上预测,输出classification_report/ 回归指标 / 聚类轮廓系数。
算法是否需要特征缩放:
- 需要:SVM、KNN、神经网络(MLP)、PCA、带正则的线性/逻辑回归、K-Means。
- 不需要:树模型(决策树、随机森林、梯度提升)、朴素贝叶斯。
安装:uv pip install scikit-learn(可选 matplotlib seaborn pandas numpy)。
示例
最小分类 Pipeline(混合特征 + 调参 + 评估):
import pandas as pd
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.pipeline import Pipeline
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.impute import SimpleImputer
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report
df = pd.read_csv("data.csv")
X, y = df.drop("target", axis=1), df["target"]
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, stratify=y, random_state=42)
numeric = ["age", "income"]
categorical = ["gender", "occupation"]
preprocessor = ColumnTransformer([
("num", Pipeline([("imp", SimpleImputer(strategy="median")),
("sc", StandardScaler())]), numeric),
("cat", Pipeline([("imp", SimpleImputer(strategy="most_frequent")),
("oh", OneHotEncoder(handle_unknown="ignore"))]), categorical),
])
pipe = Pipeline([("preprocessor", preprocessor),
("classifier", RandomForestClassifier(random_state=42))])
grid = GridSearchCV(pipe, {
"classifier__n_estimators": [100, 200],
"classifier__max_depth": [10, 20, None],
}, cv=5)
grid.fit(X_train, y_train)
y_pred = grid.best_estimator_.predict(X_test)
print(classification_report(y_test, y_pred))
聚类:找最优簇数并降维可视化:
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
from sklearn.decomposition import PCA
X_scaled = StandardScaler().fit_transform(X)
scores = [silhouette_score(X_scaled, KMeans(k, random_state=42).fit_predict(X_scaled))
for k in range(2, 11)]
optimal_k = range(2, 11)[int(np.argmax(scores))]
labels = KMeans(optimal_k, random_state=42).fit_predict(X_scaled)
X_2d = PCA(n_components=2).fit_transform(X_scaled) # 仅供画散点图
委托提示词(给 Agent 调用时):
用 scikit-learn 对
data.csv建分类模型:先探查并划分(stratify),用 ColumnTransformer 分别处理数值/类别列并封进 Pipeline,用 5 折交叉验证对比 RandomForest 与 GradientBoosting,对优者跑 GridSearchCV 调参,最后在测试集输出 classification_report。
注意事项
- 只在训练集 fit:
scaler.fit_transform(X_train)后对测试集只transform;用 Pipeline 即自动避免泄漏,切勿对全量数据先做缩放再划分。 - 始终用 Pipeline:把预处理纳入 Pipeline,交叉验证/调参时每折独立拟合预处理,否则评估偏乐观。
- 分类用分层划分
stratify=y,保持类别分布。 - 固定
random_state保证可复现。 - 选对指标:均衡数据用 accuracy/F1;不均衡用 precision/recall/ROC-AUC/balanced accuracy。
- 常见报错处理:
ConvergenceWarning(未收敛)→ 增大max_iter(如LogisticRegression(max_iter=1000))或先缩放特征。- 测试集表现差(过拟合)→ 加正则(
Ridge(alpha=1.0))、用交叉验证、或换更简单模型。 - 大数据内存溢出 → 用增量算法
SGDClassifier,聚类用MiniBatchKMeans(batch_size=...)。
- 不能替代环境相关的验证与专家复核;输出仅供参考。
互见
- requires:无。
- related:
csv-data-cleaner(建模前的脏数据清洗,清洗完再进本技能)。 - combines_with:无。
采编自 sickn33/antigravity-awesome-skills(MIT 许可)。
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most learn study skills give in ~2.3k tokens
Counted across 546 of the 573 authors here whose files we hold, read 2026-08-07
- Calculate the zone of proximal development before teachingin 25 of 546, across 8 files
- Produce self-contained HTML lessonsin 24 of 546, across 8 files
- Record user preferences in a notes filein 23 of 546, across 5 files
- Maintain a teaching workspace in the current directoryin 21 of 546, across 4 files
- Find high-quality resources before writing lessonsin 19 of 546, across 5 files
- Make lessons beautiful, short, and quickly completablein 19 of 546, across 3 files
- Create reusable components for lessonsin 19 of 546, across 5 files
- Create compressed reference documents for quick lookupin 19 of 546, across 3 files
- Update the mission file and records upon mission changesin 16 of 546, across 2 files
- Set min_dist to 0.0 for clustering preprocessingin 16 of 546, across 6 files
- Populate the mission file before teachingin 15 of 546, across 1 file
- Include interactive feedback loops in lessonsin 15 of 546, across 1 file
Said here and by no other author read
- inspect data types and missing values
- split data using stratification
- build preprocessing using ColumnTransformer
- combine preprocessing and models in a Pipeline
- evaluate multiple models using cross-validation
- tune hyperparameters using GridSearchCV
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.