【历史文档】高阶技巧-如何画StockRanker模型的NDCG曲线
由qxiao创建,最终由small_q 被浏览 280 用户
更新
本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明
新版量化开发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曲线。
\
什么是NDCG
NDCG的全称是:Normalized Discounted Cumulative Gain(归一化折损累计增益),这个指标通常是用来衡量和评价搜索结果算法,其有两个思想:
1、高关联度的结果比一般关联度的结果更影响最终的指标得分;
2、有高关联度的结果出现在更靠前的位置的时候,指标会越高;
对于NDCG更详细的介绍大家可以在网上搜索。
\
如何画NDCG
数据集
机器学习中,一般会遇到三类数据集:
训练集 (Training Set),用于训练模型 验证集 (Validation Set),从训练集学习的模型效果仅体现了训练数据,但不一定适合同类的其他数据,所以很多时候会在建模前会将数据分成两部分,一部分用作训练,一部分用作验证。验证可以用于模型参与调优、模型选择,有时候也称为 开发集。 测试集 (Test Set),用于对最终模型进行无偏评估的数据集,用作最后模型测试
训练曲线
学习曲线 (或 训练曲线 )显示训练过程中的效果,随着数据或者迭代等的变化,模型效果的变化情况。它可以发现机器学习模型从添加更多训练数据或者迭代中受益多少。学习曲线的x轴是训练样本数或用于训练模型的迭代数,y轴表示效果。
x轴:迭代次数(数的棵树)
y轴:训练的NDCG
曲线:NDCG@n,表示前n个结果的NDCG
如下视频详细介绍了如果通过训练集和验证集来画NDCG训练曲线
/wiki/static/upload/35/35388e70-72dc-48bb-b288-83b9a5c5ce10.mp4
\