数据处理类任务模板

需要做表格预处理、对接大数据集群、分布式计算、NLP 文本清洗/过滤/构造 QA、特征工程时,查这些算子的设计与参数。

05-任务模板 / 数据处理
data-process数据预处理hadoophiveyarnsparkspark-operatorrayray集群volcanovolcanojob分布式计算nlp-process文本清洗脱敏数据过滤

数据处理类任务模板

本家族算子最多、文档量最大,覆盖表格预处理、大数据对接、分布式计算、NLP 处理与特征工程:

算子 平台模板 用途
data-process data-process CSV 通用预处理
hadoop hadoop 对接外部 Hadoop/YARN/Hive/Spark 集群客户端
spark spark spark-operator 提交 SparkApplication
ray ray K8s 上拉起 Ray 集群跑分布式 Python
volcano volcano Volcano Job CRD 多副本分布式计算
nlp-process nlp-clean-data 等 6 个 文本清洗/脱敏/过滤/分析/转 QA/扩展
feature-process feature-combine 等 6 个 特征工程

本文档侧重各算子的设计、参数与命令定义。在 pipeline 中逐项预处理/特征处理的操作用法已在 模板使用/ 拆分文档中覆盖,两者互相补充,避免重复。


data-process

通用 CSV 数据预处理算子,单入口 launcher.py,用 --process_type 选择功能。

  • 镜像ccr.ccs.tencentyun.com/cube-studio/data-process:20230501
  • 实现job-template/job/data-process/launcher.py
  • 输入:默认 CSV;所有功能必填 --process_type

process_type 功能对照

process_type 功能 关键参数(除 --input_dataset_path/--save_dataset_path 外)
drop_duplicates 按行去重,保留首次出现 -
drop_high_missing 删除缺失率超阈值的列 --missing_ratio(默认 0.3
drop_stablize 删除单一取值占比过高的列 --stable_threshold(默认 0.95
calculate_metric 描述性统计输出 CSV(不改原数据) --metric_path(统计结果输出路径)
fill_missing 缺失值填充 --fill_typemean/median/modes(默认 mean
one_hot One-Hot 编码 --categorical_cols(逗号分隔;不填则对所有 object 列编码)
outlier_detection 异常值检测(可选删除) --detection_type(多选逗号分隔:stddev/box_line/Tukey/Z-score)、--delete_or_notyes/no
pca PCA 降维(保留标签列) --feature_columns--label_columns--dimension
split 划分训练/验证集 --split_ratio(默认 0.8

split--save_dataset_path 规则:目录 → 生成 train.csv/val.csv;单 CSV 路径 → 生成 {basename}_train.csv/{basename}_val.csv;逗号分隔两路径 → 分别作训练/验证集。

python launcher.py --process_type drop_high_missing --input_dataset_path /data/raw.csv --save_dataset_path /data/cleaned.csv --missing_ratio 0.3
python launcher.py --process_type pca --input_dataset_path /data/raw.csv --save_dataset_path /data/pca.csv --feature_columns "f1,f2,f3,f4,f5" --label_columns label --dimension 2

平台模板侧把每种 process_type 注册为独立参数组(过滤重复样本/丢弃缺失值过高的列/…),参数 JSON 见 job-template/job/data-process/README.md


hadoop

对接客户已有大数据平台(Hadoop / YARN / Hive / Spark)的客户端镜像算子。CubeStudio 不提供大数据集群本身,任务实际提交到你公司已有的 HDFS/YARN/Hive 上执行;组件版本不一致时需二次开发改 Dockerfile 重建镜像。

  • 默认镜像ccr.ccs.tencentyun.com/cube-studio/hadoop:20240501
  • 默认组件版本(见 Dockerfile):Hadoop 3.3.6、Hive 3.1.3、Spark 3.4.3(bin-hadoop3)、JDK 8
  • 实现目录job-template/job/hadoop(入口 start.sh 先执行 set.sh 再跑 --command

参数

参数 类型 必填 说明
--command str 要执行的命令,如 spark-submit /path/app.pyhive -e "SELECT 1"hadoop fs -ls /

对接集群的环境变量(运行时由 set.sh 写入 xml 配置)

环境变量 说明
FS_DEFAULTFS HDFS defaultFS,如 hdfs://your-namenode:9000 → 写入 core-site.xml
YARN_RESOURCEMANAGER_ADDRESS YARN RM 地址,如 your-rm-host:8032 → 写入 yarn-site.xml
HIVE_METASTORE_URIS Hive Metastore thrift 地址,如 thrift://your-hive-metastore:9083 → 写入 hive-site.xml(不用 Hive 可不配)

spark-submit Driver 跑在 K8s 内时,set.sh 还会从平台注入的 PORT1spark.driver.port)、PORT2spark.blockManager.port)、K8S_HOST_IPspark.driver.host)写入 Spark 配置,一般无需手填。

二次开发切换 Hadoop 2 栈:编辑 Dockerfile,启用预留的 HADOOP_VERSION=2.7.2HIVE_VERSION=1.2.2SPARK_VERSION=2.1.3SPARK_HADOOP_VERSION=2.7,在 job-template 目录用 docker build ... -f job/hadoop/Dockerfile . 重建并改模板镜像。


spark

通过 spark-operator 提交 SparkApplicationsparkoperator.k8s.io/v1beta2,见 job-template/job/spark/launcher.py:118)跑 Spark 作业。

  • 镜像ccr.ccs.tencentyun.com/cube-studio/spark:20260601job-template/job/spark/build.sh 当前构建版本;README 正文里写的是旧版 20230701,以 build.sh 为准)
  • K8s 账号kubeflow-pipeline
  • 实现job-template/job/spark/launcher.py

参数

参数 类型 必填 默认 说明
--image str ccr.ccs.tencentyun.com/cube-studio/spark-operator:spark-v3.1.1 执行镜像
--num_worker str 3 executor(instances)数目
--code_type str Python 语言:Java/Python/Scala/R
--code_class str - Java/Scala 主类名(mainClass),其他语言不填
--code_file str local:///opt/spark/examples/src/main/python/pi.py 代码文件(mainApplicationFile),支持 local:///http:///hdfs:///s3a:///gcs://
--code_arguments str - 代码参数
--sparkConf text - spark 配置,每行 xx=yy
--hadoopConf text - hadoop 配置,每行 xx=yy

注意(来自源码与 README):当前版本 spark-operator 无法挂载分布式存储中的代码文件,因此 code_file 主要用 http 地址。分布式存储路径 /mnt/admin/xx/example.py 对应 http 形如 http://127.0.0.1/static/mnt/admin/xx/example.pylauncher.py 会自动把以 local:///mnt/ 开头的 code_file 转换为 <HOST>/static/mnt/... 的 http 地址(见 job-template/job/spark/launcher.py:273-275)。


ray

在 Kubernetes 上按需拉起一套 Ray 集群并执行用户代码的分布式计算算子,用户无需事先部署 Ray。

  • 镜像ccr.ccs.tencentyun.com/cube-studio/ray:gpu-20250301(以 init-job-template 为准)
  • K8s 账号kubeflow-pipeline
  • 实现job-template/job/ray/launcher.py

运行机制

Launcher Pod 既是驱动端也是客户端,通过 K8s API 在当前命名空间创建:1 个 Head(Deployment+Service,容器执行 ray start --head --port=6379 --num-cpus=$MY_CPU_REQUEST --block)+ N 个 Worker(Deployment replicas=N,执行 ray start --address=$RAY_HEAD_SERVICE_HOST:6379 --block)。Head 命名 ray-header-{KFJ_PIPELINE_NAME}-{KFJ_TASK_ID}(截断 54 字符)。随后 Launcher 用 ray.util.connect(<head>:10001) 连接并轮询直到节点数达到 worker 数,设置环境变量 RAY_HOST=<head 服务名>,在工作目录下执行用户命令。

Head 服务端口

端口 用途
10001 Ray 客户端连接端口(用户代码用 <RAY_HOST>:10001 连接)
8265 Ray Dashboard
6379 Ray 内部 Redis

参数

参数 类型 必填 默认 说明
--workdir str / 工作目录,用户命令在此执行
--command str python3 mnist.py 用户启动命令,如 python demo.py
--num_worker int 3 Worker 数量(内部变量 NUM_WORKER),决定集群规模
--init str '' 初始化脚本,Head/Worker 启动前及当前驱动 Pod 内各执行一次(装依赖/备环境)

镜像由平台注入(KFJ_TASK_IMAGES)。资源/调度从 KFJ_TASK_RESOURCE_CPU/MEMORY/GPUKFJ_TASK_NODE_SELECTORKFJ_TASK_VOLUME_MOUNT 等环境变量读取。

用户代码写法

import os, ray

@ray.remote
def fun1(arg):
    return "back_data"

if __name__ == "__main__":
    head = os.getenv("RAY_HOST", "")
    if head:
        ray.util.connect(head + ":10001")   # 集群模式
    else:
        ray.init()                          # 本地调试
    ray.get([fun1.remote(i) for i in range(100)])

job_example.pydemo.py 为目录内示例。


volcano

通过创建 Volcano Job CRD(batch.volcano.sh/v1alpha1)发起多副本分布式计算:所有 Worker Pod 使用相同镜像与命令,由 Volcano 调度,用环境变量区分副本序号,适合数据并行、批处理。

  • 镜像ccr.ccs.tencentyun.com/cube-studio/volcano:20250801job-template/job/volcano/build.sh 当前构建版本;README 正文里写的是旧版 20230601,以 build.sh 为准)
  • K8s 账号kubeflow-pipeline
  • 实现job-template/job/volcano/launcher.py(入口 python3 launcher.py

运行机制

Launcher 读取参数与 KFJ_TASK_* 环境变量,组装 Volcano Job 提交到当前命名空间:单个 Task 类型 workerreplicas=num_workerminAvailable=num_workerschedulerName: volcanoqueue: defaultcleanPodPolicy: None,启用 env/svc/ssh 插件;每个 Pod 以 bash -c <command> 执行。Launcher 用 stern 实时汇聚所有 Worker 日志(约每小时重启一次 stern),后台线程轮询 Job 状态,Completed 退出码 0,Failed/Aborted/Terminated 退出码 1。Pod 间用 Pod 反亲和尽量打散到不同节点(topologyKey: kubernetes.io/hostname)。

参数

参数 类型 必填 默认 说明
--working_dir str /mnt/ 运行 job 的工作目录
--command str python3 mnist.py 运行命令,由 bash -c 执行
--num_worker int 3 Worker 数量(Pod 副本数 / minAvailable)
--image str '' Worker 镜像;不填则用模板默认镜像(KFJ_TASK_IMAGES

资源/调度来自 KFJ_TASK_RESOURCE_CPU/MEMORY/GPUGPU_RESOURCE_NAMEKFJ_TASK_RESOURCE_RDMAKFJ_TASK_NODE_SELECTORKFJ_TASK_VOLUME_MOUNTHUBSECRET 等。

用户代码(数据并行分片)

Volcano 为各 Pod 注入 VC_WORKER_NUM(Worker 总数)、VC_TASK_INDEX(当前序号,0 起),用户据此分片:

import os
WORLD_SIZE = int(os.getenv('VC_WORKER_NUM', '1'))
RANK = int(os.getenv("VC_TASK_INDEX", '0'))
local_task = [i for i in range(300) if i % WORLD_SIZE == RANK]  # 仅处理本 Worker 分片

nlp-process

NLP 文本处理算子集合,单镜像 + 多运行文件,每个运行文件对应一个平台任务模板。

  • 镜像ccr.ccs.tencentyun.com/cube-studio/nlp-process:20260527nlp-analyze-data 例外,见下)
  • 实现目录job-template/job/nlp-process

子模板与运行文件

平台任务模板 运行文件 用途
nlp-clean-data clean-data.py 文本清洗:无意义符号、格式规范、去重、异常规则、数值噪声、缺失值
nlp-replace-private-data replace-data.py 隐私/敏感信息替换:email、IP、数字串、自定义词
nlp-filter-data filter-data.py 文档质量过滤:长度、重复率、特殊字符、敏感词、中文占比
nlp-analyze-data analyze-data.py 大模型自动分类(领域/任务/语言)+ 质量指标
markdown-to-qa markdown-to-data.py Markdown/TXT 转 Alpaca/ShareGPT QA 数据集
expand-qa expand-dataset.py 已有 QA 举一反三扩展 + 规则型数据增强

推荐链路replace-data.py(可选脱敏) → clean-data.py(清洗) → filter-data.py(过滤) → analyze-data.py(可选分析) → markdown-to-data.py(生成 QA) → expand-dataset.py(可选扩展)。

nlp-clean-data(clean-data.py)

支持基础字符清理与高级清理:移除不可见字符/规范空格/去乱码、繁转简、去 HTML/XML/emoji/主题标签、半全角与日期数值规范、行/段/文件去重、规则异常检查、分箱/回归式数值噪声处理、缺失值保留/删除/填充,可输出清理报告 JSON。布尔参数用字符串 true/false--input_file_path 可为文件或目录(目录递归处理)。

关键参数(共 24 个,完整表见 job-template/job/nlp-process/README-clean-data.md):

参数 脚本默认 平台默认 说明
--input_file_path / --save_file_path clean-input.txt / result.txt 个人空间路径 输入/输出文件或目录
--remove_invisible_char / --standard_spaces / --remove_garbled_char / --traditional_to_simplified false true 基础字符清理(平台默认开启)
--remove_page_identifiers / --remove_emoticons / --remove_topic_tags false true 去 HTML/XML、emoji、#话题#/#tag
--normalize_formats / --validate_numeric_content false true 半全角/日期数值规范、数值异常检查
--remove_duplicates / --dedupe_unit / --dedupe_scope false / line / file true / line / dataset 去重及粒度(line/paragraph/file)、范围(file/dataset)
--validation_rules / --drop_patterns / --drop_invalid_records 空 / 空 / false 规则 JSON、删除正则、是否删异常段落
--noise_method / --bin_count / --noise_threshold none / 5 / 3.0 数值噪声处理(none/binning/regression)
--missing_strategy / --missing_tokens / --fill_dict keep / N/A,NULL,null,NaN,无,--,未知 / 空 缺失值策略(keep/remove/fill)、占位符、补全词典
--report_file_path 报告路径 清理报告 JSON 输出

nlp-replace-private-data(replace-data.py)

该子模板在仓库中无独立 READMEREADME-replace-data.md 不存在),以下据源码 job-template/job/nlp-process/replace-data.py 整理。

逐文件(或目录递归)对文本做隐私/敏感信息替换:email→PI:EMAIL,IPv4/IPv6→PI:IP,数字串(16/11 位、32 位十六进制、4 位、纯数字)→PI:NUMBER,以及自定义词替换。空文件跳过不保留。

参数 类型 默认 说明
--input_file_path str replace-input.txt 输入文件或目录
--save_file_path str result.txt 输出路径(目录输入时按原文件名写到该路径所在目录)
--replace_email str false true 时替换邮箱为 PI:EMAIL
--replace_ip str false true 时替换 IPv4/IPv6 为 PI:IP
--replace_number str false true 时替换数字串为 PI:NUMBER
--replace_spec_word str '' 自定义替换,格式 旧:新 多组用 ,; 分隔(按正则替换,如 公司A:某公司,张三:某人

nlp-filter-data(filter-data.py)

该子模板在仓库中无独立 READMEREADME-filter-data.md 不存在),以下据源码 job-template/job/nlp-process/filter-data.py 整理。

逐文件按多项质量指标判定是否保留(任一不达标即丢弃,通过的才写出):字数/词数(jieba 分词)在范围内、字重复率/词重复率/特殊字符率/敏感词率不超阈值、中文占比不低于阈值。敏感词表来自镜像内 keywords.txt

参数 类型 默认 说明
--input_file_path str filter-input.txt 输入文件或目录
--save_file_path str result.txt 输出路径
--char_num str 1-100000 字数范围(用 ,/-/;/~ 分隔上下界)
--word_num str 1-50000 词数范围(jieba 分词)
--char_repetition_rate str 0.2 字重复率上限
--word_repetition_rate str 0.4 词重复率上限
--special_char_rate str 0.3 特殊字符率上限
--sensitive_word_rate str 0.001 敏感词率上限
--chinese_word_rate str 0.85 中文占比下限
--perplexity str 1110 困惑度阈值

注意:--perplexity 参数在 filter-data.py:80 已定义,但当前过滤逻辑未调用任何困惑度计算args.perplexity 在脚本中再无引用,过滤主循环 filter-data.py:96-145 也无相关分支),即该阈值实际不参与过滤。

nlp-analyze-data(analyze-data.py)

用大模型自动对文本做领域/任务/语言分类,并计算质量指标;输出领域/任务分布统计、质量指标明细/汇总 CSV 及图表。支持 .txt/.csv/.jsonl/.jsonl.gz,输入可为文件/目录/逗号列表/glob。大模型走 OpenAI 兼容接口,经环境变量 API_URL/API_KEY/MODEL 配置(也可用 --api-url/--api-key/--model 覆盖)。

参数 类型 默认 说明
--input str (空,必填) 输入数据(每行一句话)
--output str /mnt/{creator}/pipeline/text-dataset 输出目录
--plots str true 是否输出图表
--batch-size int 10 大模型批处理大小
--domains / --tasks / --languages str 领域/任务/语言类别(逗号分隔;不填则模型自动分类)
--llm-params json {"temperature":0.5,"top_p":0.9,"max_tokens":2048} 大模型超参数

注意:README-analyze-data.md 已过时,与源码存在多处不一致,以源码 / 总 README 为准:(1) README 称 --batch-size 默认 5,源码默认 10analyze-data.py:1175);(2) README 的 --output 默认带 /output 后缀,源码无(analyze-data.py:1170);(3) README 示例用 python start.py,实际运行文件为 analyze-data.py;(4) README 顶部镜像写 text-dataset-jobs:20251111,但该脚本随 nlp-process 镜像构建,应以总 README 与 build.shnlp-process:20260527 为准。

markdown-to-qa(markdown-to-data.py)

把清洗/过滤后的 .md/.txt 高质量文本转换为 LlamaFactory 可用的 Alpaca/ShareGPT 问答对数据集:分块 → 大模型抽取文档上下文(摘要/关键点/实体等,失败回退规则摘要)→ 按 chunk×模板生成候选问题并去重 → 按质量评分重试/剔除低分样本。

主要参数(完整见 job-template/job/nlp-process/README-markdown-to-data.md):

参数 默认 说明
--input / --output 个人空间路径 输入 .md/.txt(文件/目录/逗号列表/glob)/ 输出数据集 JSON
--format alpaca alpacasharegpt
--expand_qa / --expand_num false / 3 是否继续举一反三扩展、每条扩展问题数
--api-url / --api-key / --model / --llm-params 大模型 API 与超参(未传则读环境变量 API_URL/API_KEY/MODEL
--chunk_size / --chunk_overlap / --min_chunk_chars / --qa_per_chunk 2000 / 200 / 80 / 3 分块与生成粒度
--min_quality_score / --max_quality_retry 0.7 / 2 最低保留质量分、质量优化最大次数
--metadata_output metadata 输出路径(为空写 ${output}.metadata.json

expand-qa(expand-dataset.py)

对已有 QA 数据集做大模型「举一反三」与/或离线规则增强,支持 llm/rule/both 三种模式。规则增强含同义词替换、近音字替换、随机插入、随机交换、随机删除。

主要参数(完整见 job-template/job/nlp-process/README-expand-dataset.md):

参数 默认 说明
--input / --output 个人空间路径 输入 QA JSON(Alpaca/ShareGPT 自动识别)/ 输出 JSON
--format alpaca alpacasharegpt
--expand_num 3 每条 QA 大模型扩展问题数
--keep_original true 是否保留原始数据
--augment_mode llm llm/rule/both
--augment_methods synonym_replace,homophone_replace,random_insert,random_swap,random_delete 规则增强方法(逗号分隔)
--augment_num / --augment_fields 1 / instruction 每条规则增强数量、增强字段
--synonym_dict / --homophone_dict / --insert_words - 同义词/近音字词典、可插入词
--replace_prob / --insert_prob / --swap_prob / --delete_prob / --random_seed - 各操作概率与随机种子
--llm-params - 大模型 API 与超参

feature-process

特征工程算子集合,镜像 ccr.ccs.tencentyun.com/cube-studio/feature-process:20260601job-template/job/feature-process/build.sh 当前构建版本;README 正文里写的是旧版 20250801,以 build.sh 为准),每个任务对应一个 launcher 脚本,以不同任务模板注册:实际运行哪个脚本由平台下发的 job_template_command(如 python3 launcher-combine.py)决定。Dockerfile 仅把目录拷进 /app、设 WORKDIR /app未设置 ENTRYPOINT/CMD(见 job-template/job/feature-process/Dockerfile),所以必须靠模板命令指定入口;镜像内脚本名即仓库内文件名(launcher-combine.py/launcher-calculate-correlation.py/launcher-feature-importance.py/launcher-hadamard-multiply.py/launcher-union-join-data.py/launcher-all.py)。实现目录 job-template/job/feature-process

一体化模板 feature-process-all 的入口脚本 launcher-all.py 也在该目录内、同属 feature-process 镜像,见本节末尾。

feature-combine(特征组合,launcher-combine.py)

对指定列两两组合衍生新特征,新列名 {col1}_{col2}_{method}。方法:cross(逐元素相乘)、polynomialcol1^2+col2^2)、statistics(逐行均值)、aggregation(按 col1 分组对 col2 取组内均值)、hashing(拼接字符串 hash 对 1000 取模)。

参数 类型 说明
--input_dataset_path / --save_dataset_path workdir 输入/输出 CSV
--params json {"方法名": "列1,列2,列3", ...},如 {"cross":"age,duration","statistics":"age,duration,campaign"}

hadamard-multiply(Hadamard 积,launcher-hadamard-multiply.py)

对两个同形状 CSV 做逐元素乘积 result[i,j]=data1[i,j]*data2[i,j];shape 不一致则报错退出。

参数 类型 说明
--data1 / --data2 workdir 两个 CSV,行列数必须一致
--save_dataset_path workdir 结果保存路径

calculate-correlation(相关性,launcher-calculate-correlation.py)

对指定特征列计算相关系数矩阵并写 CSV。

参数 类型 说明
--input_dataset_path workdir 输入 CSV
--result_path workdir 相关性矩阵输出 CSV
--corr_type str 相关系数类型,可多选逗号分隔
--feature_columns str 参与计算的特征列(逗号分隔)

corr_type 实际只有 corr 有效:corr 分支用 DataFrame.corr()(Pearson)计算相关系数矩阵并写出到 --result_path。代码里另有 kappa(Cohen's kappa)分支,但整段被三引号块注释掉了job-template/job/feature-process/launcher-calculate-correlation.py:23-33),传 kappa 不会有任何输出。

feature-importance(特征重要性,launcher-feature-importance.py)

用多种方法计算特征重要性,可多 method × 多 target,结果合并为一张表。

参数 类型 说明
--input_dataset_path / --save_dataset_path workdir 输入 / 输出(默认 feature_importance.csv
--target str 目标列名,可多列逗号分隔
--method str 评估方法,可多个逗号分隔
--col_name str 参与计算的特征列;不填则用除 target 外全部列
--model_path workdir 可选,用已有模型评估重要性

method 取值:logistic_regressionrandom_forestxgbmutual_if(互信息)、iv(IV 值)、chi(卡方,仅非负特征)、variance(归一化方差)。

union-join-data(合并/连接,launcher-union-join-data.py)

对多张表按顺序两两合并。

参数 类型 默认 说明
--data text - 多个表路径,用 |/,/换行分隔
--merge_type str row_union 合并类型(见下)
--ignore_index str True 合并后是否重置索引
--join_columns str - join 时的连接列(逗号分隔),union 可不填
--save_dataset_path workdir - 结果保存路径

merge_typerow_union(按行/UNION ALL)、column_union(按列)、left_join/right_join/inner_join/outer_join(需 join_columns)。

feature-process-all(一体化特征工程,launcher-all.py)

一体化特征工程入口,单入口脚本 launcher-all.py(与上面几个 launcher 同在 feature-process 镜像内),通过 --params(JSON 单对象或对象数组,按顺序执行多步)中的 process_type 区分处理类型。

注意:README-feature-process-all.md 已过时——正文写入口 python3 launcher.py、镜像 feature-process-all:20231128,但仓库实际文件名是 launcher-all.py,且 feature-process/build.sh 只构建一个 feature-process:20260601 镜像、未单独构建 feature-process-all。平台 myapp/init/init-job-template.json 中的 feature-process-all 系模板(run-sql、sort 等)已确认统一使用镜像 feature-process:20260601 + 启动命令 python3 launcher-all.py,「单独 feature-process-all 镜像」是历史写法。

参数 类型 必填 说明
--input_dataset_path / --save_dataset_path str 输入/输出 CSV
--params str 步骤配置 JSON,每条须含 process_type;通用可选字段 col_name/col_map/keep/y_col

支持的 process_type(35 种,见 job-template/job/feature-process/README-feature-process-all.md):

width_dist 等宽离散化、freq_dist 等频离散化、boxcox 变换、pca 主成分、binarization 二值化、
featurehasher 特征哈希、polynomialfeatures 多项式展开、maxabsscaler、minmaxscaler、standardscaler、
normalizer 向量归一化、kbinsdiscretizer 分箱、one_hot 独热、drop_duplicates 去重、col_rename 列重命名、
sort 排序、z_score、dct_transform DCT、chi_ 卡方选择、svd 奇异值分解、random_sample 随机抽样、
weight_sample 加权抽样、level_sample 分层抽样、over_under_sample 过/欠采样、select 选列/删列、
label_encoding 标签编码、type_transfer 类型转换、index_to_col 索引转列、runsql 执行SQL、add_index 增加索引、
time_format 时间格式化、split_column 列拆分、split_data 拆分数据集、func_transfer 函数转换、ma 移动平均
python3 launcher.py --input_dataset_path in.csv --save_dataset_path out.csv \
  --params '[{"process_type":"width_dist","col_name":"age","bins":5},{"process_type":"standardscaler","col_name":"age,duration"}]'

各算子镜像版本、默认值与命令行行为可能随版本变化,具体以 job-template/job/<算子目录> 源码为准。

最后更新 2026-07-04完整文档以官方仓库为准:GitHub Wiki