Discussão do artigo "Metamodelos em aprendizado de máquina e negociação: Tempo original das ordens de negociação" - página 13

 
Maxim Dmitrievsky #:
Ali x[0] são probabilidades para a classe nula, enquanto o modelo fornece probabilidades para duas classes. Ou seja, se a probabilidade da classe nula for menor que 0,5, a classe será prevista primeiro. Portanto, True == 1 e vice-versa. Portanto, não há erro.

A probabilidade pode ser de 0 a 1, mais de 0,5 - "1", caso contrário, "0" é o padrão na classificação binária. Embora o tradutor traduza de forma estranha:
"

  • Um objeto é um numpy.ndarray unidimensional com probabilidades para cada classe.

"

Mas, então, como obter a probabilidade da classe "1"? Não pode haver em uma matriz unidimensional probabilidades separadas para cada classe, ou não estou entendendo algo.....

 
Maxim Dmitrievsky #:
Talvez em seu conjunto de dados os rótulos estejam de cabeça para baixo

"1" é o negócio certo/lucrativo/bom. Deveria ser o contrário?

[Excluído]  
Aleksey Vyazmikin #:

"1" é o negócio certo/lucrativo/bom. Deveria ser de outra forma?

Não, estou me referindo às compras e vendas em seu conjunto de dados, o que é um zero e o que é um 1. Comprar ou vender.
[Excluído]  
Aleksey Vyazmikin #:

Hm, nunca ouvi falar dessa probabilidade, que pode ser de 0 a 1, mais de 0,5 - "1", caso contrário, "0" por padrão na classificação binária. Embora o tradutor faça uma tradução estranha:
"

  • Um objeto é um numpy.ndarray unidimensional com probabilidades para cada classe.

"

Mas como obter a probabilidade da classe "1"? Não pode haver probabilidades separadas para cada classe em uma matriz unidimensional, ou eu não entendo alguma coisa.....

Se a probabilidade da classe 0 < 0,5, então a classe 1 é prevista. Esse código apenas converte as probabilidades de volta em rótulos de classe para o testador. Tudo está bem aí.
 
Maxim Dmitrievsky #:
Não, estou falando de compra e venda em seu conjunto de dados, o que é zero e o que é 1. Compra ou venda.

Já existe uma marcação no resultado financeiro. Na coluna de fechamento, coloco o resultado da negociação. Ou seja, para o treinamento, não é importante comprar ou vender.

Maxim Dmitrievsky #:
Se a probabilidade da classe 0 < 0,5, então a classe 1 é prevista. Esse código simplesmente converte as probabilidades de volta em rótulos de classe para o testador. Tudo está bem aí.

Não quero parecer obsessivo, mas ainda assim, três opções:
1. Tenho feito isso errado o tempo todo, supondo que é a probabilidade da classe "1" no CatBoost que é estimada.
2. Não entendo seu código.
3. Você está errado ao presumir que a probabilidade menor que 0,5 deve ser classificada como "1".

[Excluído]  
Aleksey Vyazmikin #:

Nesse caso, a margem de lucro já está baseada no resultado financeiro. Na coluna de fechamento, coloco o resultado do negócio. Ou seja, para o treinamento, não é importante comprar ou vender.

Não quero ser intrusivo, mas ainda assim, três opções:
1. Estou fazendo isso errado o tempo todo, supondo que é a probabilidade da classe "1" do CatBoost que está sendo avaliada.
2. Não entendo seu código.
3. Você está errado ao presumir que a probabilidade menor que 0,5 deve ser classificada como "1".

Não estou entendendo nada, a coluna Close deve ser os preços de fechamento.

A probabilidade total é sempre igual a um. Se a probabilidade de uma classe for menor que 0,5, então outra classe será prevista.

 
Maxim Dmitrievsky #:

Não estou entendendo nada, a coluna Close deve ser os preços de fechamento.

Dê uma olhada no código que anexei. Talvez fique mais claro. Não tenho classificação em todas as barras.

Maxim Dmitrievsky #:

A probabilidade total é sempre igual a um. Se a probabilidade de uma das classes for menor que 0,5, então outra classe será prevista.

No código, se a probabilidade for 0,4, você terá a classe "1". Por quê?

[Excluído]  
Aleksey Vyazmikin #:

Dê uma olhada no código que anexei. Talvez fique mais claro. Não tenho classificação em todas as barras.

No código, uma probabilidade de 0,4 lhe dá uma classe "1". Por quê?

Posso obter um conjunto de dados compactado? Não tenho o rar.

porque a probabilidade da classe 1 é de 0,6.

Em geral, esse algoritmo deve aceitar os dados exatamente como são feitos lá.
 
Maxim Dmitrievsky #:

Posso obter um conjunto de dados compactado? Não tenho o rar.

Posso fazer o download. Embora haja suporte de linha de comando para mac....

Maxim Dmitrievsky #:
porque a probabilidade da classe 1 é 0,6.
predict_proba p
[[0.74864123 0.25135877]
 [0.81097595 0.18902405]
 [0.81477042 0.18522958]
 ...
 [0.83347862 0.16652138]
 [0.84273186 0.15726814]
 [0.84617344 0.15382656]]

Não consegui entender até imprimi-lo - há uma diferença na versão do console a esse respeito.

Então tudo faz sentido, e eu comentei o código do flip, deixando a lógica da marcação.

#//-------Restaurar marcas revertidas anteriormente 
            #if  pred_meta>0.5:pred_meta=0
            #else :pred_meta=1
            #if  pred>0.5:pred=0
            #else :pred=1

#//-------Faça o reparticionamento e conte o saldo
            if pred_meta==1:#Мета  модель детектировала примеры как класс "1"
                if pred < 0.5 and Target_100<0.0:
                    meta_labels[i] = 1 
                if pred < 0.5 and Target_100>0.0:
                    meta_labels[i] = 0 
                if pred >= 0.5 and Target_100>0.0:
                    meta_labels[i] = 1
                    report.append(report[-1]+Target_100)
                if pred >= 0.5 and Target_100<0.0:
                    meta_labels[i] = 0
                    report.append(report[-1]+Target_100)
            if pred_meta==0:#Мета  модель детектировала примеры как класс "0"
                if pred < 0.5 and Target_100<0.0:
                    meta_labels[i] = 1 
                if pred < 0.5 and Target_100>0.0:
                    meta_labels[i] = 0 
                if pred >= 0.5 and Target_100>0.0:
                    meta_labels[i] = 1                    
                if pred >= 0.5 and Target_100<0.0:
                    meta_labels[i] = 0
 
Maxim Dmitrievsky #:
É possível fornecer um conjunto de dados compactado?

Link