Конвертация 7 функций из кода C++ в MQL5

MQL5 Outros Conversão C++

Termos de Referência

Необходимо конвертировать функции из кода C++ по этой ссылке в MQL5.

Требуется только математика.

Список функций:

THolder<IBinarizer> MakeBinarizer(const EBorderSelectionType type) {
switch (type) {
case EBorderSelectionType::UniformAndQuantiles:
return MakeHolder<TMedianPlusUniformBinarizer>();
case EBorderSelectionType::GreedyLogSum:
return MakeHolder<TGreedyBinarizer<EPenaltyType::MaxSumLog>>();
case EBorderSelectionType::GreedyMinEntropy:
return MakeHolder<TGreedyBinarizer<EPenaltyType::MinEntropy>>();
case EBorderSelectionType::MaxLogSum:
return MakeHolder<TExactBinarizer<EPenaltyType::MaxSumLog>>();
case EBorderSelectionType::MinEntropy:
return MakeHolder<TExactBinarizer<EPenaltyType::MinEntropy>>();
case EBorderSelectionType::Median:
return MakeHolder<TMedianBinarizer>();
case EBorderSelectionType::Uniform:
return MakeHolder<TUniformBinarizer>();
}

Описание методов можно посмотреть по ссылке.


Результатом работы должны быть такая функция

void Quant (int Type_Quant,int N, 
float  &arr_In[],float &arr_Out[])
{
}
//Type_Quant - выбор метода
//N - максимальное число сплитов
//arr_In - массив с входными данными для поиска сплитов
//arr_Out - массив со значением сплитов

Внимание, ссылки не открываются корректно - нужно убирать адрес портала MQL5.

https://github.com/catboost/catboost/blob/3cde523d326e08b32caf1b8b138c2c5303dc52e5/library/cpp/grid_creator/binarization.cpp

https://catboost.ai/en/docs/concepts/quantization

Визуально это выглядит так - точки данные, а вертикальные линии - сплиты.

Нужно находить значения этих сплитов, можно реализовать по формулам и описанию, что я дал выше, главное, что б результат был такой же, как в CatBoost (как там получить - расскажу).


Respondido

1
Desenvolvedor 1
Classificação
(54)
Projetos
102
23%
Arbitragem
12
25% / 17%
Expirado
13
13%
Livre
2
Desenvolvedor 2
Classificação
(295)
Projetos
471
39%
Arbitragem
102
40% / 24%
Expirado
78
17%
Ocupado
Publicou: 2 códigos

Informações sobre o projeto

Orçamento
50+ USD
Prazo
de 14 para 30 dias