交易中的机器学习:理论、模型、实践和算法交易 - 页 2833

 
Evgeni Gavrilovi catboost 自定义指标吗?

用我的版本训练模型的结果与 RMSE 几乎一样,所以代码中的某个地方出错了。

preds 和 target 返回 (a[i]-a[i+1])

我不太了解 python 或 katbusta,但我会 一些愚蠢的问题。)

1) 数据是什么,为什么平均值不是来自 preds?

2) 似乎梯度剔除需要指定更多的梯度和 hessian 公式?

 
Aleksey Nikolayev #:

我对 python 和 katbusta 都不太了解,但我会问一些 愚蠢的问题)。

1) 数据是什么,为什么平均值不是来自 preds?

2) 似乎梯度波形需要指定梯度和 hessian 公式?

显然是的,我漏掉了一些东西。我使用了官方网站https://catboost.ai/en/docs/concepts/python-usages-examples 上的模板。

data - 生成的模型预测列表,我将负值转换为正值,以计算它们的算术平均值(夏普平均值

 
Evgeni Gavrilovi #:

数据 - 生成模型预测列表,将负值转换为正值,以计算其算术平均值,得出夏普平均值

为什么?对夏普而言,计算的是带有原始符号的平均值。

 
Aleksey Nikolayev #:

为什么?对于夏普来说,考虑的是与原始符号的平均值。

为了将卖单也考虑在内,假设有两个准确的预测-0.002(20 点)和+0.003(负-空头,正-多头)。

利润为 +0.005,平均值为 0.0025,如果不改变符号,则为 0.0005。


事实证明,自定义指标需要有自己的损失函数,类比RmseObjective(object)
 
Evgeni Gavrilovi #:

显然是的,我漏掉了一些东西。我使用了官方网站https://catboost.ai/en/docs/concepts/python-usages-examples 上的模板。

有两种度量 loss_function 和 eval_metric。你可能需要第一种,请看这里 https://catboost.ai/en/docs/concepts/python-usages-examples#user-defined-loss-function。

但我可能说错了。这里有比我更好的 Python 专家和 Python 赞美者)也许他们能帮到你更多。

 
Evgeni Gavrilovi #:

为了将卖出订单也考虑在内,假设有两个准确的预测-0.002(20 点)和 +0.003(负 - 空头,正 - 多头)。

利润 +0.005,平均值为 0.0025,如果不改变符号,则为 0.0005。

这就不是夏普了。此外,也许有必要不只取模块,还要乘以预测的符号(如果卖出则减一,如果买入则乘一)。

 
Evgeni Gavrilovi catboost 自定义指标吗?

用我的版本训练模型的结果与 RMSE 几乎一样,所以代码中的某个地方出错了。

preds 和 target 返回 (a[i]-a[i+1])

打印得到的值,并与其他指标进行比较。每次迭代都同时打印这两个值。在 catbust 早期停止时,不要忘记加入自定义标准的最大值和 "使用最佳模型=True"。你可以直接打开 "详细 "选项,它会在每次迭代时自行打印度量值。
 
Maxim Dmitrievsky #:
打印得到的数值,并与其他指标进行比较。每次迭代都同时打印两个值。在 catbusta 早期停止时,不要忘记启用最大用户条件和 "使用最佳模型=True",你可以只启用 "详细",它会在每次迭代时打印指标值。

出于研究目的(尽管相当复杂),通过自定义损失函数进行计算会很有趣。这是 可能实现的(如果你跳转到页面开头,需要在最下方找到用户自定义损失函数部分)。

Usage examples
Usage examples
  • catboost.ai
Regression CatBoostRegressor class with array-like data.
 
Aleksey Nikolayev #:

出于研究目的(尽管相当复杂),制作一个自定义损失函数会很有趣。这 有可能实现的(如果你跳转到页面开头,应该会在最下面找到用户自定义损失函数部分)。

让我们稍后尝试一下
 
Aleksey Nikolayev #:

出于研究目的(尽管相当复杂),制作一个自定义损失函数会很有趣。这是 可能实现的(如果你被抛到了页面的开头,你需要在最下面找到用户自定义损耗函数部分)。

我在使用 xgboost.... 时没有成功
或者说,它起作用了,但训练没有起作用,你需要和梯度交朋友,你需要让拟合函数梯度化,而遗传学要简单得多