Este é um problema de classificação binária. A métrica que está sendo minimizada é a perda de log (ou entropia cruzada). Eu também tenho um número de precisão, apenas para minhas informações. É um conjunto de dados grande e muito equilibrado. Técnicas de previsão muito ingênuas obtêm cerca de 50% de precisão e perda de 0,693 log. O melhor que pude extrair é a precisão de 52,5% e a perda de log de 0,6915. Como estamos tentando minimizar a perda de log, sempre obtemos um conjunto de probabilidades ( predict_proba
funções no sklearn e keras). Isso é tudo pano de fundo, agora a questão.
Digamos que eu possa usar 2 técnicas diferentes para criar 2 conjuntos diferentes de previsões com métricas de precisão e perda de log comparáveis. Por exemplo, eu posso usar 2 grupos diferentes de recursos de entrada para produzir 2 conjuntos de previsões com 52% de precisão e <0,692 perda de log. O ponto é que ambos os conjuntos de previsões mostram que há algum poder preditivo. Outro exemplo é que eu poderia usar a regressão logística para produzir um conjunto de previsões e uma rede neural para produzir o outro.
Aqui estão os 10 primeiros para cada conjunto, por exemplo:
p1 = [0.49121362 0.52067905 0.50230295 0.49511673 0.52009695 0.49394751 0.48676686 0.50084939 0.48693237 0.49564188 ...]
p2 = [0.4833959 0.49700296 0.50484381 0.49122147 0.52754993 0.51766402 0.48326918 0.50432501 0.48721228 0.48949306 ...]
Estou pensando que deve haver uma maneira de combinar os 2 conjuntos de previsões em um, para aumentar o poder preditivo geral. Existe?
Eu comecei a tentar algumas coisas. Por exemplo, considero o valor absoluto da previsão menos 0,5 ( abs( p - 0.5 )
) como um sinal e, qualquer que tenha entre p1
e p2
tenha um sinal maior, eu usaria esse valor. Isso levemente realizado que eu queria, mas apenas por uma pequena margem. E em outro caso, não pareceu ajudar em nada. Curiosamente, não pareceu destruir o poder preditivo.