机器学习算法模板

在 pipeline 里跑 sklearn 系单机机器学习算法/超参搜索/时间序列,查训练集、特征列、model_params 怎么填

05-任务模板 / 模板使用
机器学习算法模板random-forest随机森林lr逻辑回归lightgbmknnkmeankmeans聚类gbdtdecision-tree决策树bayesian朴素贝叶斯

机器学习算法

以下 sklearn 系算法模板的代码入口在 job-template/job/sklearn/(每个算法一个 launcher-xxx.py)。多数算法共用一组入参:train_dataset、val_dataset、feature_columns、label_columns、save_model_dir、inference_dataset、model_params。save_model_dir 写到文件夹级别即可(不用写到 pkl 级别)。

random-forest

随机森林算法模板。

入参(通用六项 + model_params):

  • train_dataset:训练数据集路径,如 data/fin_data_train.csv
  • val_dataset:评估数据集地址,如 data/fin_data_val.csv
  • feature_columns:特征列,英文逗号分隔
  • label_columns:标签列,英文逗号分隔
  • save_model_dir:模型保存路径,如 model/,文件夹级别即可
  • inference_dataset:测试数据集路径,如 data/fin_data_test.csv
  • model_params:模型输入参数,如 {"n_estimators": 300},参考 sklearn RandomForestClassifier

lr

逻辑回归算法模板。入参同上六项,外加:

lightgbm

lightgbm 算法模板。入参同上六项,外加:

  • model_params:如 {"max_depth": 5,"reg_lambda": 2},参考 LightGBM 文档 “用于控制模型学习过程的参数”部分

knn

knn 算法模板。入参同上六项,外加:

kmean

kmean 算法模板(平台中注册的模板名为 kmeans)。入参同上六项,外加:

  • model_params:如 {"n_clusters": 3,"max_iter": 200},参考 sklearn KMeans

gbdt

gbdt 算法模板。入参同上六项,外加:

decision-tree

决策树算法模板。入参同上六项,外加:

bayesian

朴素贝叶斯算法模板。

入参:

  • train_dataset:训练数据集路径,如 data/fin_data_train.csv
  • test_dataset:评估数据集路径,如 data/fin_data_val.csv
  • save_model_dir:模型保存路径,文件夹级别即可
  • inference_dataset:测试数据集路径,如 data/fin_data_test.csv

注:bayesian 模板的评估集参数名为 test_dataset(与其他算法的 val_dataset 不同),源文档如此,使用前可对照 job-template/job/sklearn/launcher-bayesian.py

xgb

xgb 单机训练模板。

入参:

  • train_dataset:训练数据集路径
  • val_dataset:评估数据集路径
  • feature_columns:特征列,英文逗号分隔
  • label_columns:标签列,英文逗号分隔
  • model_params:模型输入参数,如:
    {
        "booster": "gbtree",
        "eta": 0.1,
        "gamma": 0,
        "max_depth": 6,
        "objective": "binary:logistic",
        "eval_metric": "auc"
    }
    
    参考 XGBClassifier 文档
  • save_model_dir:模型保存路径,文件夹级别即可
  • inference_dataset:测试数据集路径

adaboost

adaboost 算法模板。入参同通用六项,外加:

hyperparameter-search-ray

超参搜索模板(基于 Ray Tune)。

入参:

  • command:运行算法模板的命令,比如 python /mnt/admin/cube-studio/job-template/job/sklearn/launcher-kmeans.py --save_model_dir /mnt/admin/pipeline/kmeans/ --train_dataset /mnt/admin/pipeline/example/feature-process/data-test.csv --label_columns y --feature_columns age,duration,...
  • params:需要进行超参搜索的超参数,如 {"n_clusters": tune.grid_search([2,3,4]),"max_iter": tune.grid_search([50,100,200])}
  • outfile:超参搜索评估结果,如 mnt/admin/pipeline/kmeans/val_result.json
  • metric:模型评估方式,如 silhouette_avg_train(训练集轮廓系数)
  • mode:评估参数越大越好还是越小越好,max 越大越好,min 越小越好
  • num_samples:超参搜索用的样本数,默认 1
  • result_save_path:输出结果地址,如 /mnt/admin/pipeline/ray_hyperparams/hyperparams_r_kmeans.csv

注意:sklearn 系算法的 launcher 实为 job-template/job/sklearn/launcher-<算法>.py(如 kmeans 为 launcher-kmeans.py),仓库中并无 job/kmeans/ 目录,上方命令路径已据此修正。此外该超参搜索模板还支持 --workdir(命令执行目录)入参(hyperparameter-search-ray/launcher.py:145),上方入参列表未列出,按实际部署的目录结构和模板入参填写即可。

ar

时间序列算法 AR。

入参:

  • train_dataset:训练数据集来源
  • feature_col:特征列,只能有一个列名
  • save_model_dir:模型相关输出文件保存的文件夹,到文件夹层面即可
  • time_col:时间列的列名
  • start:开始预测的位置
  • end:结束预测的位置
  • lag:AR 算法参数,窗口大小

arima

时间序列算法 ARIMA。

入参:

  • train_dataset:训练数据集来源
  • feature_col:特征列,只能有一个列名
  • save_model_dir:模型相关输出文件保存的文件夹
  • time_col:时间列的列名
  • start:开始预测的位置
  • end:结束预测的位置
  • order:ARIMA 算法参数,阶数大小

rf-regression

随机森林回归模型(平台中注册的模板名为 random-forest-regression)。入参同通用六项,外加:

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