【历史文档】算子样例-StockRanker训练
由qxiao创建,最终由small_q 被浏览 777 用户
更新
本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明
新版量化开发IDE(AIStudio):
https://bigquant.com/wiki/doc/aistudio-aiide-NzAjgKapzW
新版模版策略:
https://bigquant.com/wiki/doc/demos-ecdRvuM1TU
新版数据平台:
https://bigquant.com/wiki/doc/dai-PLSbc1SbZX
新版表达式算子:
https://bigquant.com/wiki/doc/dai-sql-Rceb2JQBdS
新版因子平台:
https://bigquant.com/wiki/doc/bigalpha-EOVmVtJMS5
\
新版策略实现代码见下列链接:
使用场景
用StockRanker模型对数据进行训练。一般作为StockRanker预测模块的输入端。
输入端
- 训练数据:传入训练数据集。必填。
- 特征列表:训练使用的特征列表。必填。
- 评估测试数据集:传入评估用测试数据集,用于模型参数的调优。可选。
- 基础模型:可以基于已有模型继续训练。可选。
输入参数
- 学习算法:使用的机器学习算法。默认排序,必填。
- 叶节点数量:每棵树最大叶节点数量。一般情况下,叶子节点越多,则模型越复杂,表达能力越强,过拟合的可能性也越高。
- 每叶节点最小样本数:每个叶节点最少需要的样本数量,一般值越大,泛化性性越好。
- 数的数量:一般情况下,树越多,则模型越复杂,表达能力越强,过拟合的可能性也越高。
- 学习率:学习率如果太大,可能会使结果越过最优值,如果太小学习会很慢。
- 特征值离散化数量:一般情况下,值越大,则学的越细,过拟合的可能性也越高。
- 特征列采样率:在构建每一颗树时,每个特征被使用的概率,如果为1,则每棵树都会使用所有特征列。
- 数据行采样率:在构建每一颗树时,每个样本数据被使用的概率,如果为1,则每棵树都会使用所有数据行。
- NDCG discount base:用于计算NDCG的 discount = log2(base + position),其中position从1开始。base越大,位置的影响越小。
- 延迟运行,将当前模块打包,可以作为其他模块的输入,在其他模块里运行。启用需要勾选模块的 延迟运行 参数。
输出端
- 模型:训练结果模型。一般链接StockRanker预测模块。
- 特征贡献:输出每个特征的贡献值。
- 延迟运行,将当前模块打包,可以作为其他模块的输入,在其他模块里运行。启用需要勾选模块的 延迟运行 参数。
运行结果
-
通过模块id.model_id查询训练结果的模型id,主要用于模型的保存
\n
-
通过模块id.feature_gains.read()查询每个特征的重要性得分。
\
-
通过模块id.plot_stock_ranker_tabs()画出特征重要性列表、模型和训练曲线结果
\
视频介绍
/wiki/static/upload/ef/ef1c8f45-2c7c-4c2d-8ba7-a6c484f468c7.mp4
关于训练曲线的介绍请参照StockRanker训练曲线
使用样例
https://bigquant.com/experimentshare/4dd37527fbdc4a33a4f6cc845bcddf21
\