É possível combinar previsões para melhorar a qualidade geral das previsões?

7

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_probafunçõ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 p1e p2tenha 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.

jeffery_the_wind
fonte
3
Os números que você fornece para p1 e p2 são todos muito próximos de 0,5, você registra a perda muito próximo de ln (2) e uma precisão de 50% é o mesmo que jogar uma moeda. Esses são resultados terríveis e é improvável que você obtenha melhorias significativas com o empilhamento. Você deve observar outras técnicas, como a engenharia de recursos.
Acumulação
Por curiosidade, você está fazendo previsões de jogos esportivos ou de algum tipo?
Jjmontes # 6/18

Respostas:

13

Resposta curta: Sim.

Resposta longa: este é um dos muitos exemplos de uma técnica conhecida como "empilhamento". Embora você possa, é claro, decidir alguma maneira manual de combinar as duas previsões, é ainda melhor se você treinar um terceiro modelo na saída dos dois primeiros modelos (ou até mais). Isso melhorará ainda mais a precisão. Para evitar a reutilização dos dados, geralmente uma parte diferente do conjunto de dados é usada para treinar os primeiros níveis e treinar o modelo que combina os dados.

Veja, por exemplo, aqui para um exemplo.

LiKao
fonte
11
Era exatamente disso que eu estava falando.
precisa saber é o seguinte
5

Sim.
O método que você está falando é chamado Empilhamento. É um tipo de método de montagem. Nesse método, no primeiro estágio, vários modelos são treinados e as previsões são armazenadas como recursos que serão usados ​​para treinar o modelo do segundo estágio. Muitos Kagglers usam esse método. Geralmente, você deve usar mais de 2 modelos para o primeiro estágio durante o empilhamento (eu geralmente uso pelo menos 4-5 modelos). Também existem muitos métodos nos quais o empilhamento pode ser realizado como média simples, votação majoritária etc. Aqui está um link para um kaggle kernel que implementa o empilhamento no famoso Titanic Dataset, que também é um problema de classificação binária.
Introdução ao Kaggle Kernel para empilhamento usando o conjunto de dados do Titanic

sincero
fonte
3
Observe que frequentemente você pode usar o mesmo tipo de modelo, mas usando parâmetros diferentes. A floresta aleatória, por exemplo, é basicamente um método de empilhamento com árvores de decisão como modelos base.
Acumulação 5/10/19
11
Nota. Minha maneira de pensar sobre os métodos de agrupamento usando a média e a votação majoritária, iirc, é que eles reduzem a variação das previsões. Ou seja, eles suavizam a superfície de previsão.
Jjmontes # 6/18