Muito preguiçoso para converter) Deixe-me explicar:
1) ordenamos a coluna 2) contamos o número médio de elementos em um quantum, por exemplo 10000 elementos / 255 quanta = 39,21 3) no loop, nos movemos por 39,21 elementos em cada passo e adicionamos o valor do array ordenado ao array de valores do quantum. Isto é, valor da matriz 0 = valor 0 quantum, 39º valor = 1 quantum, 78º valor = 2 quantum, etc.
Se o valor já estiver no array, ou seja, se entrarmos numa área com muitas duplicatas, saltamos a duplicata e não a adicionamos.
A cada passo, adicionamos exatamente 39,21, e então arredondamos a soma para selecionar um elemento da matriz, de modo que ele seja igual. Ou seja, em vez de 195 (39*5 = 195), tomar 196 ( 39,21 * 5 = (int) 196,05).
Com uma distribuição uniforme é claro - eu criaria um conjunto de valores únicos e os utilizaria para o corte.
Mas há outros métodos de dividir a grelha:
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>();
}
deve haver muitas amostras, caso contrário o modelo não aprenderá nada.
Estes são os métodos de quantificação por amostragem para CatBoost - estes são os limites pelos quais a enumeração/aprendizagem prossegue.
Meus experimentos mostram que a grade deve ser escolhida para cada preditor separadamente, então o aumento de qualidade é observado, mas não é capaz de fazê-lo CatBoost e eu não sou capaz de construir uma grade e eu tenho que construir grades e carregá-las para csv, e então iterá-las para estimar o comportamento dos alvos nelas. Eu acho que é uma ferramenta muito promissora, mas preciso traduzir o código para MQL.
Estes são os métodos de quantificação por amostragem para CatBoost - estes são os limites pelos quais a enumeração/aprendizagem então procede.
Meus experimentos mostram que a grade deve ser escolhida para cada preditor separadamente, então o ganho de qualidade é observado, mas CatBoost não pode fazer isso e eu não posso construir uma grade e eu tenho que construir grades e fazer upload para csv e depois iterar através delas para avaliar o comportamento do alvo nelas. Acho que este é um recurso muito promissor, mas preciso traduzir o código para MQL.
isto está nas configurações do próprio modelo (parâmetros)? não sei o que é
se não estiver nas configurações, então é uma merda.
Mode How splits are chosen Combine the splits obtained in the following modes, after first halving the quantization size provided by the starting parameters for each of them: Maximize the value of the following expression inside each bucket: Minimize the value of the following expression inside each bucket: Maximize the greedy approximation of...
Com uma distribuição uniforme eu entendo - eu primeiro criaria um conjunto de valores únicos e os usaria para cortar.
Mas há outros métodos para dividir a grelha:
Se você tem valores únicos, será uma bagunça. Por exemplo, você tem 100 cordas das quais 10 são únicas, 2 delas têm 45 cordas e 8 têm 1. Dividido por 5 quanta, é possível que apenas 5 por 1 seja escolhido, e os 2 mais representativos (por 45) serão pulados.
e isso faz uma grande diferença? deve estar dentro de uma percentagem
A escolha da repartição certa tem um impacto significativo no resultado.
Aqui está um exemplo na Recall - até 50% de variação - para mim, que é significativo.
Aumentando os limites de 16 para 512 em incrementos de 16 - embora não em ordem no histograma - os meus títulos são um pequeno obstáculo.
Ainda estou experimentando a seleção de malhas, mas já é óbvio que existem diferentes preditores para os quais são necessárias malhas diferentes, para observar a lógica, e não apenas para ajustar.
selecionar todos os arquivos e baixá-los, eles serão zipados
diferentes comprimentos de amostra, então se uma peça
Obrigado, isso mesmo - você pode fazer o download como um arquivo, o que é bom!
Mas diferentes comprimentos de amostragem é ruim, eu estava pensando em selecionar as colunas mais aleatórias onde pequenos desvios são aceitáveis.
Eu acho que não é necessário aplicar este método à amostra - caso contrário, como posso usá-lo na vida real.
Estou a geri-lo para o treino, vamos ver o que acontece.
Obrigado, é isso mesmo - você pode baixar um arquivo, o que é bom!
Mas os diferentes comprimentos das amostras são maus, pensei em destacar as colunas mais aleatórias, onde pequenos desvios são aceitáveis.
Eu acho que não é necessário aplicar este método à amostra - caso contrário, como posso usá-lo na vida real.
Estou a geri-lo para o treino, vamos ver o que acontece.
Não preciso dele para exames, mas pode vir a ser útil.
Muito preguiçoso para converter)
Deixe-me explicar:
1) ordenamos a coluna
2) contamos o número médio de elementos em um quantum, por exemplo 10000 elementos / 255 quanta = 39,21
3) no loop, nos movemos por 39,21 elementos em cada passo e adicionamos o valor do array ordenado ao array de valores do quantum. Isto é, valor da matriz 0 = valor 0 quantum, 39º valor = 1 quantum, 78º valor = 2 quantum, etc.
Se o valor já estiver no array, ou seja, se entrarmos numa área com muitas duplicatas, saltamos a duplicata e não a adicionamos.
A cada passo, adicionamos exatamente 39,21, e então arredondamos a soma para selecionar um elemento da matriz, de modo que ele seja igual. Ou seja, em vez de 195 (39*5 = 195), tomar 196 ( 39,21 * 5 = (int) 196,05).
Com uma distribuição uniforme é claro - eu criaria um conjunto de valores únicos e os utilizaria para o corte.
Mas há outros métodos de dividir a grelha:
Com distribuição uniforme eu vejo - eu primeiro criaria um conjunto de valores únicos e o usaria para cortar.
Mas existem outros métodos para dividir a grelha:
Deve haver muitas amostras, senão o modelo não vai aprender nada
deve haver muitas amostras, caso contrário o modelo não aprenderá nada.
Estes são os métodos de quantificação por amostragem para CatBoost - estes são os limites pelos quais a enumeração/aprendizagem prossegue.
Meus experimentos mostram que a grade deve ser escolhida para cada preditor separadamente, então o aumento de qualidade é observado, mas não é capaz de fazê-lo CatBoost e eu não sou capaz de construir uma grade e eu tenho que construir grades e carregá-las para csv, e então iterá-las para estimar o comportamento dos alvos nelas. Eu acho que é uma ferramenta muito promissora, mas preciso traduzir o código para MQL.
Estes são os métodos de quantificação por amostragem para CatBoost - estes são os limites pelos quais a enumeração/aprendizagem então procede.
Meus experimentos mostram que a grade deve ser escolhida para cada preditor separadamente, então o ganho de qualidade é observado, mas CatBoost não pode fazer isso e eu não posso construir uma grade e eu tenho que construir grades e fazer upload para csv e depois iterar através delas para avaliar o comportamento do alvo nelas. Acho que este é um recurso muito promissor, mas preciso traduzir o código para MQL.
isto está nas configurações do próprio modelo (parâmetros)? não sei o que é
se não estiver nas configurações, então é uma merda.
Está nas configurações do próprio modelo (parâmetros)? Eu não sei o que é
Se não está nas configurações, é uma merda.
Está nas configurações, pelo menos para a linha de comando
-- tipo de recurso de fronteira
O modo dequantização de características numéricas.
Está nas configurações, pelo menos para a linha de comando
-- tipo de recurso de fronteira
O modo dequantização de características numéricas.
Faz grande diferença? Deve estar dentro de uma percentagem
Com uma distribuição uniforme eu entendo - eu primeiro criaria um conjunto de valores únicos e os usaria para cortar.
Mas há outros métodos para dividir a grelha:
e isso faz uma grande diferença? deve estar dentro de uma percentagem
A escolha da repartição certa tem um impacto significativo no resultado.
Aqui está um exemplo na Recall - até 50% de variação - para mim, que é significativo.
Aumentando os limites de 16 para 512 em incrementos de 16 - embora não em ordem no histograma - os meus títulos são um pequeno obstáculo.
Ainda estou experimentando a seleção de malhas, mas já é óbvio que existem diferentes preditores para os quais são necessárias malhas diferentes, para observar a lógica, e não apenas para ajustar.