历史文档

【历史文档】高阶技巧-如何画StockRanker模型的NDCG曲线

由qxiao创建,最终由small_q 被浏览 283 用户

更新

本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明

新版量化开发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

导语

在使用StockRanker模型训练后会看到输出的结果中有一个NDCG的输出结果,但是内容为空,本文将介绍如何来画NDCG曲线。

{w:100}

\

什么是NDCG

NDCG的全称是:Normalized Discounted Cumulative Gain(归一化折损累计增益),这个指标通常是用来衡量和评价搜索结果算法,其有两个思想:

1、高关联度的结果比一般关联度的结果更影响最终的指标得分;

2、有高关联度的结果出现在更靠前的位置的时候,指标会越高;

对于NDCG更详细的介绍大家可以在网上搜索。

\

如何画NDCG

数据集

机器学习中,一般会遇到三类数据集:

训练集 (Training Set),用于训练模型 验证集 (Validation Set),从训练集学习的模型效果仅体现了训练数据,但不一定适合同类的其他数据,所以很多时候会在建模前会将数据分成两部分,一部分用作训练,一部分用作验证。验证可以用于模型参与调优、模型选择,有时候也称为 开发集。 测试集 (Test Set),用于对最终模型进行无偏评估的数据集,用作最后模型测试

{w:100}

训练曲线

学习曲线 (或 训练曲线 )显示训练过程中的效果,随着数据或者迭代等的变化,模型效果的变化情况。它可以发现机器学习模型从添加更多训练数据或者迭代中受益多少。学习曲线的x轴是训练样本数或用于训练模型的迭代数,y轴表示效果。

x轴:迭代次数(数的棵树)

y轴:训练的NDCG

曲线:NDCG@n,表示前n个结果的NDCG

{w:100}

如下视频详细介绍了如果通过训练集和验证集来画NDCG训练曲线

/wiki/static/upload/35/35388e70-72dc-48bb-b288-83b9a5c5ce10.mp4

\

标签

StockRanker算法Stockranker
评论
  • 能不能用validation set作为 test set。拆分原training set获得test set不会导致trainning set变小导致结果变差吗
{link}