【历史文档】算子-机器学习
由polll创建,最终由small_q 被浏览 1946 用户
{{use_style}}
更新
本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明
新版量化开发IDE(AIStudio):
https://bigquant.com/wiki/doc/aistudio-aiide-NzAjgKapzW
新版模版策略:
https://bigquant.com/wiki/doc/demos-ecdRvuM1TU
新版数据平台:
https://bigquant.com/data/home
https://bigquant.com/wiki/doc/dai-PLSbc1SbZX
新版表达式算子:
https://bigquant.com/wiki/doc/dai-sql-Rceb2JQBdS
新版因子平台:
https://bigquant.com/wiki/doc/bigalpha-EOVmVtJMS5
\
分类
自适应提升树-分类
adaboost自适应提升树算法,用于分类,此算法基于boosting,根据上次分类的准确率确定下次训练每个样本的权值,将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器融合,作为最后的决策分类器。
表名:adaboost_classifier.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 弱学习器个数 | n_estimators | int | 弱学习器个数,弱学习器最大迭代次数,太小容易欠拟合,太大容易过拟合,默认为50 | 50 |
分类算法 | algorithm | choice | 分类算法,SAMME.R使用了对样本集分类的预测概率大小来作为弱学习器权重,迭代一般比SAMME快 | SAMME.R | |
学习率 | learning_rate | float | 学习率,该值缩减每个弱学习器的权重,通常较小的系数需要更多的迭代,因此n_estimators和learning_rate要一起调参 | 1.0 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列名用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
Bagging-分类
Bagging有放回随机抽样算法,用于分类,有放回随机抽取小样本,训练弱学习器,采取多数投票机制获得最终分类结果。
表名:bagging_classifier.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 弱学习器个数 | n_estimators | int | 弱学习器个数,基准估计器个数,默认为10 | 10 |
随机子集比重 | subsample | float | 随机子集比重,训练基准估计器使用该随机子集 | 1.0 | |
特征使用率 | feature_fraction | float | 特征使用率,寻找最佳分割时要考虑的特征比率,float类型,默认考虑所有特征数,即取值1.0 | 1.0 | |
数据有放回抽样 | bootstrap | bool | 数据有放回抽样,是否有放回采样,默认为True | True | |
特征有放回抽样 | bootstrap_features | bool | 特征有放回抽样,是否对特征有放回采样,默认为False | False | |
采用袋外样本来评估误差 | oob_score | bool | 采用袋外样本来评估误差,是否使用袋外样本估计泛化误差,默认为False,评估结果保存在oob_score_ | False | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
随机数种子 | random_state | int | 随机数种子,默认是0 | 0 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
决策树-分类
决策树算法,用于分类,决策树从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。
表名:decision_tree_classifier.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 决定分割的标准 | criterion | choice | 决定分割的标准,支持基尼不纯度gini和熵不纯度entropy,默认是gini | gini |
特征使用率 | feature_fraction | float | 特征使用率,寻找最佳分割时要考虑的特征比率 | 1 | |
树的最大深度 | max_depth | int | 树的最大深度,限制每棵树的最大深度,数值大拟合能力强,数值小泛化能力强。设置为0则不限制 | 30 | |
每叶节点最小样本数 | min_samples_per_leaf | int | 每叶节点最小样本数,每个叶节点最少需要的样本数量,一般值越大,泛化性性越好 | 200 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
极端随机森林-分类
对于随机森林的优化。
表名:extra_trees_classifier.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 决定分割的标准 | criterion | choice | 决定分割的标准,支持基尼不纯度gini和熵不纯度entropy,默认是gini | gini |
树的数量 | iterations | int | 树的数量,数量越大,则模型越复杂,学习能力越强,更有可能过拟合,需要更多的计算资源 | 10 | |
特征使用率 | feature_fraction | float | 特征使用率:寻找最佳分割时要考虑的特征比率 | 1 | |
树的最大深度 | max_depth | int | 树的最大深度,限制每棵树的最大深度,数值大拟合能力强,数值小泛化能力强。设置为0则不限制 | 30 | |
每叶节点最小样本数 | min_samples_per_leaf | int | 每叶节点最小样本数:每个叶节点最少需要的样本数量,一般值越大,泛化性性越好 | 200 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
随机数种子 | random_state | int | 随机数种子,默认是0 | 0 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
梯度提升树-分类
梯度提升树-分类。
表名: gradient_boosting_classifier.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定特征输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 损失函数 | loss | choice | 损失函数,对于分类模型,有对数似然损失函数deviance和指数损失函数exponential | deviance |
学习率 | learning_rate | float | 学习率,这个参数决定着每一个决策树对于最终结果的影响。GBM设定了初始的权重值之后,每一次树分类都会更新这个值,较小的值使得模型对不同的树更加稳健 | 0.1 | |
树的数量 | iterations | int | 树的数量,数量越大,则模型越复杂,学习能力越强,更有可能过拟合,需要更多的计算资源 | 10 | |
训练每个决策树所用到的子样本占总样本的比例 | subsample | float | 训练每个决策树所用到的子样本占总样本的比例,稍小于1的值能够使模型更稳健,因为这样减少了方差 | 1.0 | |
树中终点节点所需要的最少的样本数 | min_samples_per_leaf | int | 树中终点节点所需要的最少的样本数,也可以用来防止过度拟合 | 1 | |
树的最大深度 | max_depth | int | 树的最大深度,限制每棵树的最大深度,数值大拟合能力强,数值小泛化能力强 | 3 | |
特征使用率 | feature_fraction | float | 特征使用率,寻找最佳分割时要考虑的特征比率,float类型,默认考虑所有特征数,即取值1.0 | 1.0 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
k近邻-分类
用于分类
表名:kneighbors_classifier.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 近邻数 | n_neighbors | int | 近邻数,int类型,可选参数,默认值为5 | 5 |
K近邻权重类型 | weights | choice | K近邻权重类型,用于预测。默认值为uniform | uniform | |
计算分类使用的算法 | algorithm | choice | 计算分类使用的算法,可选参数,ball_tree为算法BallTree,kd_tree为KDTree,brute使用暴力搜索,auto基于传入内容使用合适算法。默认值为auto | auto | |
BallTree或者KDTree算法的叶子数量 | leaf_size | int | BallTree或者KDTree算法的叶子数量,int类型,可选参数,此参数会影响构建、查询BallTree或者KDTree的速度,以及存储BallTree或KDTree所需要的内存大小。默认值30 | 30 | |
距离度量 | metric | choice | 距离度量,默认为minkowski,也称欧式距离 | minkowski | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
线性随机梯度下降-分类
线性随机梯度下降算法,用于分类。
表名:linear_sgd_classifier.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 损失函数 | loss | choice | 损失函数 | log |
正则类型 | penalty | choice | 正则类型 | l2 | |
L2 惩罚项(正则项) 参数 | alpha | float | L2 惩罚项(正则项) 参数 | 0.0001 | |
最大迭代次数 | max_iter | int | 最大迭代次数 | 5 | |
是否先随机打乱 | shuffle | bool | 是否先随机打乱 | True | |
初始学习率 | eta0 | float | 初始学习率 | 0.1 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
线性-分类
逻辑斯蒂回归。
表名:logistic_regression.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 指定惩罚项中使用的规范 | penalty | choice | 指定惩罚项中使用的规范 | l2 |
对偶或原始方法 | dual | bool | 对偶或原始方法,bool类型,默认为False。对偶方法只用在求解线性多核(liblinear)的L2惩罚项上。当样本数量>样本特征的时候,dual通常设置为False | False | |
是否存在截距或偏差 | fit_intercept | bool | 是否存在截距或偏差,默认为True | True | |
停止求解的标准 | tol | float | 停止求解的标准 | 0.0001 | |
正则化系数λ的倒数 | C | float | 正则化系数λ的倒数 | 1.0 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
多层感知器-分类
用于分类的机器学习算法。多层感知器(Multilayer Perceptron,缩写MLP)是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。可用于线性不可分数据。
表名:mlp_classifier.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 输入该隐藏层的神经元个数 | hidden_layer_sizes | str | 输入该隐藏层的神经元个数,用英文逗号(,)分隔的整数元组,例如 100,100,表示有两层隐藏层,第一层隐藏层有100个神经元,第二层也有100个神经元 | 100 |
隐藏层的激活函数类型 | activation | choice | 隐藏层的激活函数类型 | relu | |
优化器 | solver | choice | 优化器,用于优化权重,默认为adam | adam | |
L2 惩罚项(正则项) 参数 | alpha | float | L2 惩罚项(正则项) 参数 | 0.0001 | |
随机优化算法的批量大小 | batch_size | int | 随机优化算法的批量大小,如果优化器是 ‘lbfgs’, 将不会生效 | 200 | |
学习率的初始默认值 | learning_rate_init | float | 学习率的初始默认值,当且仅当优化策略是SGD或者ADAM时,才有意义。本参数控制着更新权重时的步长 | 0.001 | |
最大可迭代次数 | max_iter | int | 最大可迭代次数,优化器直至收敛(视最小容忍度而定)或者到达最大迭代次数时,算法停止 | 200 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
随机森林-分类
随机森林算法,可以用做分类和回归类的训练。
表名:random_forest_classifier.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 树的数量 | iterations | int | 树的数量,数量越大,则模型越复杂,学习能力越强,更有可能过拟合,需要更多的计算资源 | 10 |
特征使用率 | feature_fraction | float | 特征使用率:寻找最佳分割时要考虑的特征比率 | 1.0 | |
树的最大深度 | max_depth | int | 树的最大深度,限制每棵树的最大深度,数值大拟合能力强,数值小泛化能力强。设置为0则不限制 | 30 | |
每叶节点最小样本数 | min_samples_per_leaf | int | 每叶节点最小样本数:每个叶节点最少需要的样本数量,一般值越大,泛化性性越好 | 200 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
随机数种子 | random_state | int | 随机数种子,默认是0 | 0 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
支持向量机-分类
支持向量分类。
表名:svc.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定特征输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | C-SVC惩罚系数 | C | float | C-SVC惩罚系数,即对误差的宽容度,C越高,说明越不能容忍出现误差,容易过拟合。C越小,容易欠拟合。C过大或过小,泛化能力变差 | 1.0 |
核函数类型 | kernel | choice | 核函数类型 | rbf | |
多项式poly函数的维度 | degree | int | 多项式poly函数的维度,默认是3,选择其他核函数时会被忽略 | 3 | |
核函数参数gamma | gamma | float | 核函数参数gamma,gamma是选择RBF函数作为kernel后,该函数自带的一个参数。隐含地决定了数据映射到新的特征空间后的分布,gamma越大,支持向量越少,gamma值越小,支持向量越多。支持向量的个数影响训练与预测的速度,-1表示默认值为1/n_features | -1 | |
核函数的常数项 | coef0 | float | 核函数的常数项,对于poly和 sigmoid有用 | 0.0 | |
停止训练的误差值大小 | tol | float | 停止训练的误差值大小,默认为1e-3 | 0.001 | |
最大迭代次数 | max_iter | int | 最大迭代次数,-1为无限制 | -1 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
回归
自适应提升树-回归
adaboost自适应提升树算法,用于回归,此算法基于boosting,根据上次回归的效果确定下次训练每个样本的权值,将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的弱学习器融合,作为最后的回归模型。
表名:adaboost_regressor.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 弱学习器个数 | n_estimators | int | 弱学习器个数,弱学习器最大迭代次数,太小容易欠拟合,太大容易过拟合,默认为50 | 50 |
学习率 | learning_rate | float | 学习率,该值缩减每个弱学习器的权重,通常较小的系数需要更多的迭代,因此n_estimators和learning_rate要一起调参 | 1.0 | |
损失函数 | loss | choice | 损失函数,每次增强迭代后更新权重时使用的损失函数,默认为线性 | linear | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
Bagging-回归
Bagging有放回随机抽样算法,用于回归,有放回随机抽取小样本,训练弱学习器,通过平均获得最终回归结果。
表名:bagging_regressor.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 弱学习器个数 | n_estimators | int | 弱学习器个数,基准估计器个数,默认为10 | 10 |
随机子集比重 | subsample | float | 随机子集比重,训练基准估计器使用该随机子集 | 1.0 | |
特征使用率 | feature_fraction | float | 特征使用率,寻找最佳分割时要考虑的特征比率,float类型,默认考虑所有特征数,即取值1.0 | 1.0 | |
数据有放回抽样 | bootstrap | bool | 数据有放回抽样,是否有放回采样,默认为True | True | |
特征有放回抽样 | bootstrap_features | bool | 特征有放回抽样,是否对特征有放回采样,默认为False | False | |
采用袋外样本来评估误差 | oob_score | bool | 采用袋外样本来评估误差,是否使用袋外样本估计泛化误差,默认为False,评估结果保存在oob_score_ | False | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
随机数种子 | random_state | int | 随机数种子,默认是0 | 0 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
决策树-回归
决策树算法,用于回归,回归树遍历所有特征对空间进行划分,直到取到某个特征的某个值使损失函数最小,从而得到划分点。回归结果为子空间内的样本平均数。
表名:decision_tree_regressor.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 决定分割的标准 | criterion | choice | 决定分割的标准,支持均方误差mse,平均绝对误差mae及弗里德曼改进均方误差friedman_mse。默认是mse | mse |
特征使用率 | feature_fraction | float | 特征使用率:寻找最佳分割时要考虑的特征比率 | 1 | |
树的最大深度 | max_depth | int | 树的最大深度,限制每棵树的最大深度,数值大拟合能力强,数值小泛化能力强。设置为0则不限制 | 30 | |
每叶节点最小样本数 | min_samples_per_leaf | int | 每叶节点最小样本数:每个叶节点最少需要的样本数量,一般值越大,泛化性性越好 | 200 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
极端随机森林-回归
对于随机森林的优化。
表名:extra_trees_regressor.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 决定分割的标准 | criterion | choice | 决定分割的标准,支持均方误差mse和平均绝对误差mae。默认是mse | mse |
树的数量 | iterations | int | 树的数量,数量越大,则模型越复杂,学习能力越强,更有可能过拟合,需要更多的计算资源 | 10 | |
特征使用率 | feature_fraction | float | 特征使用率:寻找最佳分割时要考虑的特征比率 | 1 | |
树的最大深度 | max_depth | int | 树的最大深度,限制每棵树的最大深度,数值大拟合能力强,数值小泛化能力强。设置为0则不限制 | 30 | |
每叶节点最小样本数 | min_samples_per_leaf | int | 每叶节点最小样本数:每个叶节点最少需要的样本数量,一般值越大,泛化性性越好 | 200 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
随机数种子 | random_state | int | 随机数种子,默认是0 | 0 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
梯度提升树-回归
梯度提升树-回归。
表名:gradient_boosting_regressor.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 损失函数 | loss | choice | 损失函数,对于分类模型,有对数似然损失函数deviance和指数损失函数exponential | ls |
学习率 | learning_rate | float | 学习率,这个参数决定着每一个决策树对于最终结果的影响。GBM设定了初始的权重值之后,每一次树分类都会更新这个值,较小的值使得模型对不同的树更加稳健 | 0.1 | |
树的数量 | iterations | int | 树的数量,数量越大,则模型越复杂,学习能力越强,更有可能过拟合,需要更多的计算资源 | 10 | |
训练每个决策树所用到的子样本占总样本的比例 | subsample | float | 训练每个决策树所用到的子样本占总样本的比例,稍小于1的值能够使模型更稳健,因为这样减少了方差 | 1.0 | |
叶子节点最小样本数 | min_samples_per_leaf | int | 叶子节点最小样本数,int类型 | 1 | |
树的最大深度 | max_depth | int | 树的最大深度,限制每棵树的最大深度,数值大拟合能力强,数值小泛化能力强 | 3 | |
特征使用率 | feature_fraction | float | 特征使用率,寻找最佳分割时要考虑的特征比率,float类型,默认考虑所有特征数,即取值1.0 | 1.0 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
k近邻-回归
用于回归
表名:kneighbors_regressor.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 近邻数 | n_neighbors | int | 近邻数,int类型,可选参数,默认值为5 | 5 |
K近邻权重类型 | weights | choice | K近邻权重类型,用于预测。默认值为uniform | uniform | |
计算分类使用的算法 | algorithm | choice | 计算分类使用的算法,可选参数,ball_tree为算法BallTree,kd_tree为KDTree,brute使用暴力搜索,auto基于传入内容使用合适算法。默认值为auto | auto | |
BallTree或者KDTree算法的叶子数量 | leaf_size | int | BallTree或者KDTree算法的叶子数量,int类型,可选参数,此参数会影响构建、查询BallTree或者KDTree的速度,以及存储BallTree或KDTree所需要的内存大小。默认值30 | 30 | |
距离度量 | metric | choice | 距离度量,默认为minkowski,也称欧式距离 | minkowski | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
线性-回归
线性回归模型。
表名:linear_regression.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 是否计算该模型的截距 | fit_intercept | bool | 是否计算该模型的截距 | True |
回归X是否被规范化 | normalize | bool | 回归X是否被规范化,如果为True,回归X被规范化 | False | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
线性随机梯度下降-回归
线性随机梯度下降算法,用于回归。
表名:linear_sgd_regressor.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 损失函数 | loss | choice | 损失函数 | huber |
正则类型 | penalty | choice | 正则类型 | l2 | |
L2 惩罚项(正则项) 参数 | alpha | float | L2 惩罚项(正则项) 参数 | 0.0001 | |
最大迭代次数 | max_iter | int | 最大迭代次数 | 5 | |
是否先随机打乱 | shuffle | bool | 是否先随机打乱 | True | |
初始学习率 | eta0 | float | 初始学习率 | 0.1 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
多层感知器-回归
用于回归的机器学习算法。多层感知器(Multilayer Perceptron,缩写MLP)是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。可用于线性不可分数据。
表名:mlp_regressor.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 输入该隐藏层的神经元个数 | hidden_layer_sizes | str | 输入该隐藏层的神经元个数,用英文逗号(,)分隔的整数元组,例如 100,100,表示有两层隐藏层,第一层隐藏层有100个神经元,第二层也有100个神经元 | 100 |
隐藏层的激活函数类型 | activation | choice | 隐藏层的激活函数类型 | relu | |
优化器 | solver | choice | 优化器,用于优化权重,默认为adam | adam | |
L2 惩罚项(正则项) 参数 | alpha | float | L2 惩罚项(正则项) 参数 | 0.0001 | |
随机优化算法的批量大小 | batch_size | int | 随机优化算法的批量大小,如果优化器是 ‘lbfgs’, 将不会生效 | 200 | |
学习率的初始默认值 | learning_rate_init | float | 学习率的初始默认值,当且仅当优化策略是SGD或者ADAM时,才有意义。本参数控制着更新权重时的步长 | 0.001 | |
最大可迭代次数 | max_iter | int | 最大可迭代次数,优化器直至收敛(视最小容忍度而定)或者到达最大迭代次数时,算法停止 | 200 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果, 如果predict_ds为None, predictions也为None |
随机森林-回归
随机森林算法,可以用做分类和回归类的训练。
表名:random_forest_regressor.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 树的数量 | iterations | int | 树的数量,数量越大,则模型越复杂,学习能力越强,更有可能过拟合,需要更多的计算资源 | 10 |
特征使用率 | feature_fraction | float | 特征使用率:寻找最佳分割时要考虑的特征比率 | 1 | |
树的最大深度 | max_depth | int | 树的最大深度,限制每棵树的最大深度,数值大拟合能力强,数值小泛化能力强。设置为0则不限制 | 30 | |
每叶节点最小样本数 | min_samples_per_leaf | int | 每叶节点最小样本数:每个叶节点最少需要的样本数量,一般值越大,泛化性性越好 | 200 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
随机数种子 | random_state | int | 随机数种子,默认是0 | 0 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
支持向量机-回归
支持向量回归。
表名:svr.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 惩罚参数 | C | float | 惩罚参数,默认值1.0 | 1.0 |
核函数 | kernel | choice | 核函数 | rbf | |
多项式poly函数的维度 | degree | int | 多项式poly函数的维度,int类型,默认是3,使用其他核函数时会被忽略 | 3 | |
核函数系数 | gamma | float | 核函数系数,rbf/poly/sigmoid的系数,float类型,默认为1/n_features | -1 | |
核函数的常数项 | coef0 | float | 核函数的常数项,float类型,对于poly和sigmoid有用 | 0.0 | |
停止训练的误差值大小 | tol | float | 停止训练的误差值大小,float类型 | 0.001 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
排序
StockRanker
StockRanker训练和预测,该模块将训练和预测整合到一起,返回模型和预测结果。
表名:stock_ranker.v2
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练-数据(如果传入则需要指定模型输入) | training_ds | 通用 | 训练-数据(如果传入则需要指定模型输入) | None |
训练-特征 | features | 通用 | 训练-特征 | None | |
训练-基础模型(可以在此模型上做继续训练(continue train)) | base_model | 通用 | 训练-基础模型(可以在此模型上做继续训练(continue train)) | None | |
训练-测试数据集 | test_ds | 通用 | 训练-测试数据集,可用于在训练阶段查看训练效果,来做模型参数和特征等的调优;通过配置early stop参数可以让训练提前终止 | None | |
预测-模型 | input_model | 通用 | 预测-模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测-数据 | predict_ds | 通用 | 预测-数据,如果不设置,则不做预测 | None | |
输入参数 | 学习算法 | learning_algorithm | choice | 学习算法,机器学习优化算法 | 排序 |
叶节点数量 | number_of_leaves | int | 叶节点数量:每棵树最大叶节点数量。一般情况下,叶子节点越多,则模型越复杂,表达能力越强,过拟合的可能性也越高 | 30 | |
每叶节点最小样本数 | minimum_docs_per_leaf | int | 每叶节点最小样本数:每个叶节点最少需要的样本数量,一般值越大,泛化性性越好 | 1000 | |
树的数量 | number_of_trees | int | 树的数量,一般情况下,树越多,则模型越复杂,表达能力越强,过拟合的可能性也越高 | 20 | |
学习率 | learning_rate | float | 学习率,学习率如果太大,可能会使结果越过最优值,如果太小学习会很慢 | 0.1 | |
特征值离散化数量 | max_bins | int | 特征值离散化数量:一般情况下,max_bins越大,则学的越细,过拟合的可能性也越高 | 1023 | |
特征列采样率 | feature_fraction | float | 特征列采样率:在构建每一颗树时,每个特征被使用的概率,如果为1,则每棵树都会使用所有特征列 | 1 | |
数据行采样率 | data_row_fraction | float | 数据行采样率:在构建每一颗树时,每个样本数据被使用的概率,如果为1,则每棵树都会使用所有数据行 | 1 | |
NDCG discount base | ndcg_discount_base | float | NDCG discount base:用于计算NDCG的 discount = log2(base + position),其中position从1开始。base越大,位置的影响越小 | 1 | |
压缩数据列 | slim_data | bool | 压缩数据列,移除不需要使用的列。一般设置为True | True | |
滚动运行参数 | rolling_input | doc | 滚动运行参数,接收来自滚动运行的输入,用于训练数据过滤 | None | |
输出端 | 训练出来的模型 | model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
StockRanker模型组合
表名:stock_ranker_combine.v2
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 基础模型 | base_model_id | 通用 | 基础模型 | *必填 |
继续训练的模型 | combine_model_id | 通用 | 继续训练的模型 | *必填 | |
输入参数 | 条件表达式 | combine_condition | str | 条件表达式 | *必填 |
输出端 | 模型 | model_id | 通用 | 模型 |
StockRanker预测
表名:stock_ranker_predict.v5
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 模型 | model | 通用 | 模型 | *必填 |
数据 | data | 通用 | 数据 | *必填 | |
输出端 | 预测结果 | predictions | 通用 | 预测结果 | |
延迟运行 | m_lazy_run | 通用 | 延迟运行,将当前模块打包,可以作为其他模块的输入,在其他模块里运行。启用需要勾选模块的 延迟运行 参数。 |
StockRanker预测(GBDT)
表名:stock_ranker_predict_gbdt.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 模型 | model | 通用 | 模型 | *必填 |
数据 | data | 通用 | 数据 | *必填 | |
输出端 | 预测结果 | predictions | 通用 | 预测结果 | |
延迟运行 | m_lazy_run | 通用 | 延迟运行,将当前模块打包,可以作为其他模块的输入,在其他模块里运行。启用需要勾选模块的 延迟运行 参数。 |
StockRanker训练
表名:stock_ranker_train.v6
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,需要包含所有用到的特征数据,包括基础特征和衍生特征 | *必填 |
特征列表 | features | 通用 | 特征列表 | *必填 | |
评估测试数据集 | test_ds | 通用 | 评估测试数据集,可用于在训练阶段查看训练效果,来做模型参数和特征等的调优;通过配置early stop参数可以让训练提前终止 | None | |
基础模型 | base_model | 通用 | 基础模型,可以在此模型上继续训练 | None | |
输入参数 | 学习算法 | learning_algorithm | choice | 学习算法,机器学习优化算法 | 排序 |
叶节点数量 | number_of_leaves | int | 叶节点数量:每棵树最大叶节点数量。一般情况下,叶子节点越多,则模型越复杂,表达能力越强,过拟合的可能性也越高 | 30 | |
每叶节点最小样本数 | minimum_docs_per_leaf | int | 每叶节点最小样本数:每个叶节点最少需要的样本数量,一般值越大,泛化性性越好 | 1000 | |
树的数量 | number_of_trees | int | 树的数量:一般情况下,树越多,则模型越复杂,表达能力越强,过拟合的可能性也越高 | 20 | |
学习率 | learning_rate | float | 学习率:学习率如果太大,可能会使结果越过最优值,如果太小学习会很慢 | 0.1 | |
特征值离散化数量 | max_bins | int | 特征值离散化数量:一般情况下,max_bins越大,则学的越细,过拟合的可能性也越高 | 1023 | |
特征列采样率 | feature_fraction | float | 特征列采样率:在构建每一颗树时,每个特征被使用的概率,如果为1,则每棵树都会使用所有特征列 | 1 | |
数据行采样率 | data_row_fraction | float | 数据行采样率:在构建每一颗树时,每个样本数据被使用的概率,如果为1,则每棵树都会使用所有数据行 | 1 | |
NDCG discount base | ndcg_discount_base | float | NDCG discount base:用于计算NDCG的 discount = log2(base + position),其中position从1开始。base越大,位置的影响越小 | 1 | |
滚动运行参数 | rolling_input | doc | 滚动运行参数,接收来自滚动运行的输入,用于训练数据过滤 | None | |
输出端 | 模型 | model | 通用 | 模型 | |
特征贡献 | feature_gains | 通用 | 特征贡献 | ||
延迟运行 | m_lazy_run | 通用 | 延迟运行,将当前模块打包,可以作为其他模块的输入,在其他模块里运行。启用需要勾选模块的 延迟运行 参数。 |
StockRanker训练(GBDT)
表名:stock_ranker_train_gbdt.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,需要包含所有用到的特征数据,包括基础特征和衍生特征 | *必填 |
特征列表 | features | 通用 | 特征列表 | *必填 | |
输入参数 | 学习算法 | learning_algorithm | choice | 学习算法,机器学习优化算法 | 排序 |
叶节点数量 | number_of_leaves | int | 叶节点数量:每棵树最大叶节点数量。一般情况下,叶子节点越多,则模型越复杂,表达能力越强,过拟合的可能性也越高 | 30 | |
每叶节点最小样本数 | minimum_docs_per_leaf | int | 每叶节点最小样本数:每个叶节点最少需要的样本数量,一般值越大,泛化性性越好 | 30 | |
树的数量 | number_of_trees | int | 树的数量:一般情况下,树越多,则模型越复杂,表达能力越强,过拟合的可能性也越高 | 100 | |
学习率 | learning_rate | float | 学习率:学习率如果太大,可能会使结果越过最优值,如果太小学习会很慢 | 0.1 | |
特征值离散化数量 | max_bins | int | 特征值离散化数量:一般情况下,max_bins越大,则学的越细,过拟合的可能性也越高 | 256 | |
滚动运行参数 | rolling_input | doc | 滚动运行参数,接收来自滚动运行的输入,用于训练数据过滤 | None | |
输出端 | 模型 | model | 通用 | 模型 | |
特征贡献 | feature_gains | 通用 | 特征贡献 | ||
延迟运行 | m_lazy_run | 通用 | 延迟运行,将当前模块打包,可以作为其他模块的输入,在其他模块里运行。启用需要勾选模块的 延迟运行 参数。 |
聚类
近邻传播-聚类
近邻传播算法,用于聚类,此算法为半监督,首先通过消息传递机制来搜索网络中各个数据点的聚类中心以及数据点与数据中心之间的隶属关系,然后根据数据中心和顶点之间的隶属关系来对待聚类数据集进行划分,形成若干个具有特定意义的子集。
表名:cluster_affinity_propagation.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 阻尼系数 | damping | float | 阻尼系数,取值在0.5到1之间,减少算法迭代产生震荡 | 0.5 |
最大迭代次数 | iterations | int | 最大迭代次数,默认为200 | 200 | |
算法收敛迭代次数 | convergence_iter | int | 算法收敛迭代次数,直到分类数没有变化时算法的迭代次数,默认为15 | 15 | |
复制输入数据 | copy | bool | 复制输入数据,是否复制输入数据,默认为True | True | |
距离度量方法 | affinity | choice | 距离度量方法,距离度量,目前支持precomputed和euclidean | euclidean | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
训练数据集 | transform_trainds | 通用 | 训练数据集,聚类训练结果为列label | ||
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
层次-聚类
层次算法,用于聚类,通过计算不同类别的相似度类创建一个有层次的嵌套的树。在聚类树中,先找出和每个点最近似的点两两聚类,然后反复迭代这一过程,直到聚类完成。
表名:cluster_agglomerative.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 分类簇数量 | n_clusters | int | 分类簇数量,默认为2 | 2 |
距离度量方法 | affinity | choice | 距离度量方法,度量的方法,包括cosine,manhattan,euclidean等 | euclidean | |
连接算法 | linkage | choice | 连接算法,如果使用ward,则距离度量只能使用euclidean | ward | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
训练数据集 | transform_trainds | 通用 | 训练数据集,聚类训练结果为列label | ||
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
Birch-聚类
Birch算法,用于聚类,作为一种层次聚类算法,BIRCH只需要单遍扫描数据集就能进行聚类。
其他参数:n_clusters:分类簇的数量,在类别数特别多,没有先验知识的情况下,n_clusters可用None,即直接读取叶子结点中的子聚类。默认为3
表名:cluster_birch.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 输出时表示类别 | compute_labels | bool | 输出时表示类别,是否标示类别输出,默认为True | True |
簇半径阈值 | threshold | float | 簇半径阈值,限制新加入的样本和存在与现有子集群中样本的最大距离,默认为0.5 | 0.5 | |
分支因子 | branching_factor | int | 分支因子,限制一个节点中的子集群的数量,默认是50 | 50 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
训练数据集 | transform_trainds | 通用 | 训练数据集,聚类训练结果为列label | ||
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
DBSCAN-聚类
DBSCAN算法,用于聚类,
表名:cluster_dbscan.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 邻域的距离阈值 | eps | float | 邻域的距离阈值,两样本间最大距离 | 0.5 |
最小样本数 | min_samples | int | 最小样本数,核心点邻域中最小样本数,包括点本身 | 5 | |
k-means算法调节 | algorithm | choice | k-means算法调节,支持蛮力实现、KD树实现、球树实现,默认为自动选取最优 | auto | |
关键列的数据会复制到预测结果里 | key_cols | str | 关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
训练数据集 | transform_trainds | 通用 | 训练数据集,聚类训练结果为列label | ||
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
K均值-聚类 (cluster_kmeans.v1)
K-means算法,用于聚类,先随机初始化各自的中心点,然后计算每个数据点到中心点的距离,将数据点划分到最近的中心点类别。然后用每一类的中心点作为新的中心点,重复迭代,直到迭代后变化不大为止。
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 簇的个数 | n_clusters | int | 簇的个数,聚类中心数量,默认为8 | 8 |
质心初始化方法 | init | choice | 质心初始化方法,默认为k-means++ | k-means++ | |
质心初始化次数 | n_init | int | 质心初始化次数,初始化质心的次数,默认为10 | 10 | |
最大迭代次数 | iterations | int | 最大迭代次数,迭代得到最终质心的次数 | 300 | |
K-Means算法 | algorithm | choice | K-Means算法,auto选择elkan表示密集数据,full表示稀疏数据 | auto | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
随机数种子 | random_state | int | 随机数种子,默认是0 | 0 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
训练数据集 | transform_trainds | 通用 | 训练数据集,聚类训练结果为列label | ||
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
谱-聚类
用于聚类,将图论应用于聚类。把所有的数据看做空间中的点,这些点之间可以用边连接起来。距离较远的两个点之间的边权重值较低,而距离较近的两个点之间的边权重值较高,通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的。
表名:cluster_spectral.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要指定模型输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 分类簇的数量 | n_clusters | int | 分类簇的数量,切图时降到的维数 | 3 |
相似矩阵的建立方式 | affinity | choice | 相似矩阵的建立方式,为nearest_neighbors时忽略参数gamma,默认为rbf | rbf | |
近邻个数 | n_neighbors | int | 近邻个数,KNN算法的K的个数,默认是10,affinity为nearest_neighbors忽略此参数 | 10 | |
特征值分解策略 | eigen_solver | choice | 特征值分解策略,amg存在稳定性问题,平台暂不支持 | None | |
停止拉普拉斯矩阵特征分解条件 | eigen_tol | float | 停止拉普拉斯矩阵特征分解条件,当eigen_solver为eigen_solver时生效 | 0.0 | |
K-Means聚类的运行次数 | n_init | int | K-Means聚类的运行次数,最终结果是连续运行后的最佳输出 | 10 | |
核系数 | gamma | float | 核系数,rbf,poly,sigmoid,laplacian和chi2的核系数 | 1.0 | |
聚类方法 | assign_labels | choice | 聚类方法,常用kmeans,但对质心初始化较敏感,discretize则不敏感 | kmeans | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
并行作业数 | workers | int | 并行作业数,同时使用多少个进程进行计算,默认是1 | 1 | |
随机数种子 | random_state | int | 随机数种子,默认是0 | 0 | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
训练数据集 | transform_trainds | 通用 | 训练数据集,聚类训练结果为列label | ||
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
特征预处理
主成分分析降维
主成分分析,主要功能为降维,是数据预处理的一个步骤。通过主成分分析对于原特征进行线性组合,得到影响力最大的新特征并输出。
表名:decomposition_pca.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 主成分特征个数 | n_components | int | 主成分特征个数,希望PCA降维后的特征维度数目 | 1 |
白化 | whiten | bool | 白化,使得每个特征具有相同的方差 | False | |
其他训练参数 | other_train_parameters | code | 其他训练参数,字典格式,例:{'criterion': 'mse'} | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
降维后的特征 | pca_features | 通用 | 降维后的特征 | ||
降维后训练集 | transform_trainds | 通用 | 降维后训练集,降维特征通过属性pca_features查看 | ||
降维后预测集 | transform_predictds | 通用 | 降维后预测集,降维特征通过属性pca_features查看 |
最大绝对值归一化
最大绝对值归一化。
表名:preprocessing_max_abs_scaler.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
转换后训练集 | transform_trainds | 通用 | 转换后训练集 | ||
转换后预测集 | transform_predictds | 通用 | 转换后预测集 |
特征缩放
将特征值缩放到一定范围内。
表名:preprocessing_min_max_scaler.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 特征缩放下限 | feature_range_low | int | 特征缩放下限,将特征缩放到执行范围之间 | 0 |
特征缩放上限 | feature_range_high | int | 特征缩放上限,将特征缩放到执行范围之间 | 1 | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
转换后训练集 | transform_trainds | 通用 | 转换后训练集 | ||
转换后预测集 | transform_predictds | 通用 | 转换后预测集 |
标准化
标准化处理。
表名:preprocessing_normalizer.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 标准化方法 | norm | choice | 标准化方法 | l2 |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
标准化训练集 | transform_trainds | 通用 | 标准化训练集 | ||
标准化预测集 | transform_predictds | 通用 | 标准化预测集 |
序数编码
序数编码。
表名:preprocessing_ordinal_encoder.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
转换后训练集 | transform_trainds | 通用 | 转换后训练集 | ||
转换后预测集 | transform_predictds | 通用 | 转换后预测集 |
RobustScaler标准化
RobustScaler 针对离群点做标准化处理。
表名:preprocessing_robust_scaler.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 中心化 | with_centering | bool | 中心化 | True |
数据是否按分位数缩放 | with_scaling | bool | 数据是否按分位数缩放 | True | |
缩放分位数下限 | quantile_range_min | float | 缩放分位数下限,介于0.0到100.0之间 | 25.0 | |
缩放分位数上限 | quantile_range_max | float | 缩放分位数上限,介于0.0到100.0之间 | 75.0 | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
转换后训练集 | transform_trainds | 通用 | 转换后训练集 | ||
转换后预测集 | transform_predictds | 通用 | 转换后预测集 |
StandardScaler标准化
标准化处理,使得数据平均值是0并且有相同阶数的方差。
表名:preprocessing_standard_scaler.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据,如果传入,则需要特征指定输入 | None |
特征 | features | 通用 | 特征,用于训练 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 中心化 | with_mean | bool | 中心化 | True |
缩放到单位标准差 | with_std | bool | 缩放到单位标准差 | True | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
转换后训练集 | transform_trainds | 通用 | 转换后训练集 | ||
转换后预测集 | transform_predictds | 通用 | 转换后预测集 |
其他
GBDT预测
表名:GBDT_predict.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 模型 | model | 通用 | 模型,参考 :doc:随机森林模型 M.random_forest_train<module_random_forest_train> |
*必填 |
待预测数据集 | data | 通用 | 待预测数据集 | *必填 | |
输入参数 | 日期列名 | date_col | str | 日期列名,如果在表达式中用到切面相关函数时,比如 rank,会用到此列名 | date |
证券代码列名 | instrument_col | str | 证券代码列名,如果在表达式中用到时间序列相关函数时,比如 shift,会用到此列名 | instrument | |
是否对结果排序 | sort | bool | 是否对结果排序 | True | |
输出端 | 预测结果 | predictions | 通用 | 预测结果 |
GBDT训练
表名:GBDT_train.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据 | *必填 |
因子/特征 | features | 通用 | 因子/特征,支持基础特征和衍生特征 | *必填 | |
验证数据 | test_ds | 通用 | 验证数据 | None | |
输入参数 | 迭代次数 | num_boost_round | int | 迭代次数 | 120 |
提前停止检测次数 | early_stopping_rounds | int | 提前停止检测次数,停止训练的的检测次数 | None | |
损失函数类型 | objective | choice | 损失函数类型 | reg:linear | |
类别个数 | num_class | int | 类别个数,如果使用multi:softprob需要设置 | None | |
评价指标 | eval_metric | choice | 评价指标 | error | |
模型 | booster | choice | 模型 | gbtree | |
学习率 | eta | float | 学习率 | 0.1 | |
最小节点分裂损失值 | gamma | float | 最小节点分裂损失值 | 0.0001 | |
L2正则 | _lambda | float | L2正则 | 0 | |
L2正则偏置 | lambda_bias | float | L2正则偏置 | 0 | |
L1正则 | alpha | float | L1正则 | 0 | |
树的最大深度 | max_depth | int | 树的最大深度 | 6 | |
树最多叶子个数 | max_leaf_nodes | int | 树最多叶子个数 | 30 | |
随机采样比例 | subsample | float | 随机采样比例 | 0.8 | |
参数字典 | xgb_param | code | 参数字典 | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | model | 通用 | 训练出来的模型 |
LightGBM
LightGBM模块,可以用做排序、分类和回归类的训练。
表名:lightgbm.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据 | None |
因子/特征 | features | 通用 | 因子/特征,支持基础特征和衍生特征 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 迭代次数 | num_boost_round | int | 迭代次数 | 30 |
损失函数类型 | objective | choice | 损失函数类型 | 排序(ndcg) | |
树最大叶子个数 | num_leaves | int | 树最大叶子个数 | 30 | |
学习率 | learning_rate | float | 学习率 | 0.1 | |
每个叶子最少样本数 | min_data_in_leaf | int | 每个叶子最少样本数 | 200 | |
特征值离散化数量 | max_bin | int | 特征值离散化数量 | 255 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
群组标识列 | group_col | str | 群组标识列,排序类任务,只有group_col相同的才需要排序, 默认不需要改 | date | |
参数字典 | other_train_parameters | code | 参数字典 | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None | ||
特征贡献 | feature_gains | 通用 | 特征贡献 |
线性模型预测(SGD)
表名:linear_sgd_predict.v2
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 模型 | model | 通用 | 模型,参考 :doc:线性随机梯度下降模型 M.linear_sgd_train<module_linear_sgd_train> |
*必填 |
待预测数据集 | data | 通用 | 待预测数据集 | *必填 | |
输出端 | 预测结果 | predictions | 通用 | 预测结果 |
线性模型训练(SGD)
表名:linear_sgd_train.v2
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据 | *必填 |
因子/特征 | features | 通用 | 因子/特征,支持基础特征和衍生特征 | *必填 | |
训练时用的测试集 | test_ds | 通用 | 训练时用的测试集,可以根据此数据集上的预测效果,来做模型参数和特征等的调整 | None | |
输入参数 | 损失函数类型 | loss | choice | 损失函数类型 | auto |
正则类型 | penalty | choice | 正则类型 | l2 | |
正则损失函数的系数 | alpha | float | 正则损失函数的系数 | 0.0001 | |
训练迭代次数 | n_iter | int | 训练迭代次数 | 5 | |
训练时 | shuffle | bool | 训练时,是否先随机打乱 | True | |
初始学习率 | eta0 | float | 初始学习率 | 0.1 | |
算法类型 | algo | choice | 算法类型,classifier是分类算法,regressor是回归算法 | classifier | |
输出端 | 训练出来的模型 | model | 通用 | 训练出来的模型 |
随机森林预测
表名:random_forest_predict.v2
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 模型 | model | 通用 | 模型,参考 :doc:随机森林模型 M.random_forest_train<module_random_forest_train> |
*必填 |
待预测数据集 | data | 通用 | 待预测数据集 | *必填 | |
输入参数 | 日期列名 | date_col | str | 日期列名,如果在表达式中用到切面相关函数时,比如 rank,会用到此列名 | date |
证券代码列名 | instrument_col | str | 证券代码列名,如果在表达式中用到时间序列相关函数时,比如 shift,会用到此列名 | instrument | |
是否对结果排序 | sort | bool | 是否对结果排序 | True | |
输出端 | 预测结果 | predictions | 通用 | 预测结果 |
随机森林训练
表名:random_forest_train.v2
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据 | *必填 |
因子/特征 | features | 通用 | 因子/特征,支持基础特征和衍生特征 | *必填 | |
训练时用的测试集 | test_ds | 通用 | 训练时用的测试集,可以根据此数据集上的预测效果,来做模型参数和特征等的调整。为None,表示不使用测试集 | None | |
输入参数 | 树的个数 | n_estimators | int | 树的个数,个数越多,则模型越复杂,计算速度越慢 | 10 |
最多考虑特征个数 | max_features | str | 最多考虑特征个数,新建节点时,最多考虑的特征个数。默认为auto,一般不需要更改 | auto | |
数据的最大深度 | max_depth | int | 数据的最大深度,限制每棵树的最大深度,数值大拟合能力强,数值小泛化能力强。设置为None则不限制 | 30 | |
每个叶子节点最少样本数 | min_samples_leaf | int | 每个叶子节点最少样本数,数值大泛化能力强,数值小拟合能力强 | 200 | |
并行度 | n_jobs | int | 并行度,同时使用多少个进程进行计算 | 1 | |
随机数种子 | random_state | int | 随机数种子,默认是0 | 0 | |
算法类型 | algo | choice | 算法类型,classifier是分类算法,regressor是回归算法 | regressor | |
输出端 | 训练出来的模型 | model | 通用 | 训练出来的模型 |
XGBoost
xgboost模块,可以用做排序、分类和回归类的训练。
表名:xgboost.v1
类别 | 显示名称 | 名称 | 类型 | 描述 | 必填/默认 |
---|---|---|---|---|---|
输入端 | 训练数据 | training_ds | 通用 | 训练数据 | None |
因子/特征 | features | 通用 | 因子/特征,支持基础特征和衍生特征 | None | |
模型 | model | 通用 | 模型,用于预测,如果不指定训练数据,则使用此模型预测 | None | |
预测数据 | predict_ds | 通用 | 预测数据,如果不设置,则不做预测 | None | |
输入参数 | 迭代次数 | num_boost_round | int | 迭代次数 | 30 |
损失函数类型 | objective | choice | 损失函数类型 | 排序(pairwise) | |
模型 | booster | choice | 模型 | gbtree | |
树的最大深度 | max_depth | int | 树的最大深度 | 6 | |
关键列 | key_cols | str | 关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔 | date,instrument | |
群组标识列 | group_col | str | 群组标识列,排序类任务,只有group_col相同的才需要排序, 默认不需要改 | date | |
并行线程数 | nthread | int | 并行线程数,默认为1 | 1 | |
gpu个数 | n_gpus | int | gpu个数,本模块使用的gpu个数,-1表示自动,0表示不用GPU,1表示使用1个GPU | -1 | |
参数字典 | other_train_parameters | code | 参数字典 | [默认代码](javascript:void(0);) | |
输出端 | 训练出来的模型 | output_model | 通用 | 训练出来的模型 | |
预测结果 | predictions | 通用 | 预测结果,如果predict_ds为None,predictions也为None |
\