본문으로 건너뛰기
cccskills
무료GitHub에 공개

stratified_sampler

结构化数据分层采样工具。读取 JSONL、JSON、CSV、TSV、XLSX、XLS 等结构化数据,按指定字段分层后无放回抽取样本,输出保留原字段结构的采样结果。当用户提到分层采样、类别平衡采样、按标签抽样、训练集分层划分等需求时使用此skill。

即使用户没有明确说出"stratified_sampler",只要任务涉及按字段分层并进行代表性抽样,就应该使用此skill。不负责随机采样、领域均衡采样、批量切分、时间窗口抽样或格式转换。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Excel
설치 방법 보기

포함된 파일(5)

  • SKILL.md4.5 KB
  • scripts/data_io.py3.5 KB
  • scripts/example_input.json124 B
  • scripts/run_stratified_sampler.py9.0 KB
  • skill.json3.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Stratified Sampler 分层采样 Skill

功能概述

本 skill 面向结构化数据进行分层抽样,可按指定字段拆分样本分布后再进行无放回采样,尽量保持各层比例与总体一致。 采样过程中保留原始字段结构,适用于训练集划分、类别平衡验证、代表性样本抽样等场景。

触发条件

当用户请求以下任务时,应使用此 skill:

  • 分层采样
  • 类别平衡采样
  • 按标签抽样
  • 训练集分层划分

核心参数说明

必需参数

  • --input:输入结构化数据文件路径
  • --output:输出结构化数据文件路径
  • --strata_field:分层字段名

可选参数

  • --sample_size:总采样数量
  • --sample_ratio:每层采样比例
  • --sample_num:每层固定采样数量
  • --min_samples:每层最小采样数量,默认 0
  • --seed:随机种子,默认 42
  • --log_file:日志文件路径

输入文件格式

输入文件可以是 JSONL、JSON、CSV、TSV、XLSX、XLS 等结构化数据文件。至少需要包含一个可用于分层的字段。

示例:

{"id": 1, "category": "A", "text": "A-1"}
{"id": 2, "category": "A", "text": "A-2"}
{"id": 3, "category": "B", "text": "B-1"}

使用方法

按总量分层采样

python scripts/run_stratified_sampler.py \
  --input data.jsonl \
  --output sampled.jsonl \
  --strata_field category \
  --sample_size 1000 \
  --seed 42

按比例分层采样

python scripts/run_stratified_sampler.py \
  --input data.csv \
  --output sampled.csv \
  --strata_field category \
  --sample_ratio 0.1 \
  --min_samples 1 \
  --seed 42

按每层固定数量采样

python scripts/run_stratified_sampler.py \
  --input data.xlsx \
  --output sampled.xlsx \
  --strata_field label \
  --sample_num 20 \
  --seed 42

输出示例

[OK] Stratified sampling completed
   Input: data.csv
   Output: sampled.csv
   Total records: 12
   Strata field: category
   Sampled records: 6
   Strata distribution:
      A: 2/4 (50.0%)
      B: 1/3 (33.3%)
      C: 2/4 (50.0%)
      D: 1/1 (100.0%)

环境要求

  • Python 3.x
  • pandas
  • 读取 Excel 文件时需要对应引擎依赖

注意事项

  1. 采样是无放回的,每条记录最多被选中一次
  2. 设置相同的种子可以得到相同的采样结果
  3. sample_size、sample_ratio、sample_num 三者只能选择一个
  4. min_samples 只用于 sample_size 和 sample_ratio 模式
  5. 如果某层比例分配后采样数为 0,但该层存在样本且总采样数大于 0,脚本会保底抽取 1 条
  6. 如果 sample_size 大于可用总量,结果会尽量返回全部数据

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

领域缩略语展开 Skill:按内置或外部词典将独立缩略语替换为全称,可选在全称后保留原缩写。 适用于技术文本、论文摘要和业务记录中的缩写清洗;不负责模糊缩写消歧或大小写无关替换。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

cas-bigdatalab/piflow5412026년 10월 17일 업데이트

字母数字比例过滤器。过滤文本中字母/数字比例不在指定范围内的样本。 当用户提到文本过滤、比例筛选、字母比例、数字比例、清理乱码文本等需求时使用此skill。 即使用户没有明确说出"过滤",只要任务涉及根据文本中字母或数字的比例来筛选数据, 就应该使用此skill。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

cas-bigdatalab/piflow5412026년 10월 17일 업데이트

平均行长度过滤器。过滤文本平均行长度不在指定范围内的样本。 当用户提到行长度过滤、平均行长度、文本行长度筛选、按行筛选等需求时使用此skill。 即使用户没有明确说出"平均行长度",只要任务涉及根据文本中每行的平均长度来筛选数据, 就应该使用此skill。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

cas-bigdatalab/piflow5412026년 10월 17일 업데이트

批量文件清单采集器。扫描一个或多个本地文件/目录,或从任务列表加载路径, 按支持的扩展名生成文件元信息清单,供后续文本、表格、文档、图像等采集流程继续处理。 当用户需要批量盘点待采集文件、生成本地文件 manifest、统计输入文件类型或为后续采集算子准备文件清单时使用此 skill。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

cas-bigdatalab/piflow5412026년 10월 17일 업데이트

批量数据均匀分片工具。读取json/jsonl/csv输入,按份数或固定条数切成多个子文件,输出一个清单JSON供下游节点消费。 当用户提到数据分割、批量拆分、数据分片、均匀分块等需求时使用此skill。 即使用户没有明确说出"分片",只要任务是把整份批量数据均匀拆成多个文件,就应该使用此skill。 不负责按字段分组导出或随机采样。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

cas-bigdatalab/piflow5412026년 10월 17일 업데이트

本skill是用于单细胞测序数据分析的专用技能,首先需要用户上传需要处理的单细胞测序数据,再对经过预处理的单细胞表达数据进行自动化细胞类型注释。它通过基因比对、数据标准化、降维等一系列流程,将细胞聚类结果与已知参考数据库进行匹配,从而为每个细胞分配生物学功能标签。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

cas-bigdatalab/piflow5412026년 10월 17일 업데이트

cas-bigdatalab의 스킬 모두 보기

이 스킬의 문제 신고